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

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 125

Lp trnh LabVIEW GV: Nguyn Thanh Tn

Hc phn
LP TRNH labVIEW C BN
Lp trnh LabVIEW GV: Nguyn Thanh Tn
LabVIEW
Lp trnh LabVIEW GV: Nguyn Thanh Tn
labVIEW
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Lp trnh
B1: Phng php pht trin phn mm
B2: Xy dng gii thut
B3: Thit k gii thut
B4: Thc thi
B5: Kim tra
B6: Bo tr Sa cha
B7: To d n
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Ni dung
1. Thao tc trn labVIEW
2. K thut g ri (Debug) cho VI
3. Lp trnh theo Modul
4. Lp trnh trong VI

Lp trnh LabVIEW GV: Nguyn Thanh Tn
Phn 1
THAO TC TRN LABVIEW
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Khi ng LabVIEW
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Giao din labVIEW
Tham kho
Thanh menu
To new VI
(Blank VI)
M file lu
Lp trnh LabVIEW GV: Nguyn Thanh Tn
To mt VI mi
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Thnh phn ca mt VI
Mt VI trong labVIEW bao gm 3 thnh phn chnh:
Front panel
Block Diagram
Icon/Connector pane
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Virtual Instruments (VIs)
Giao din chnh
Controls = Inputs (Vo)
Indicators = Outputs (Ra)
Biu khi
Cc khi chng trnh ca giao din chnh
Cc thnh phn i dy.
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Icon/Connector pane
Icon: biu tng ca mt VI hay mt subVI
Connector pane: Bn ch th cc input v output
ca mt VI
Icon/Connector pane rt cn thit cho mt VI cng
nh subVI

Lp trnh LabVIEW GV: Nguyn Thanh Tn
Giao din lp trnh
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Giao din lp trnh
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Thanh cng c
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Bng cng c
LabVIEW t ng chn nhng cng c cn thit.
Hin th trn Front panel v trn biu thit lp
h thng.
S dng cc cng c to v chnh sa giao dn
chnh v cc i tng ca biu khi
Hin th bng cng c (Tools Palette), chn
ViewShow Tools Palette
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Front panel
Lp trnh:
1. Thc hin to lnh chng trnh
bng cch nhp chut phi (ly
cc control v indicator)
2. Chn cc i tng ph hp
3. Ko v th i tng trong khung
lnh
1
2
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Front panel
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Front panel
-To cc lnh trn FP
-Thay i nhn, chnh text v nh dng
-Thay i c tnh i tng
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Block diagram
Functions (Hm) nm trong
Block Diagram
Nhm to chng trnh hon
chnh

V d: While loop, For Loop

While room is active
door is open
Loop
Webcam
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Block diagram
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Block diagram
1 Cc lin kt vi FP
2 ng lnh: Truyn d liu (Wires)
3 Cc giao im trn mi i tng (Nodes)
4. Dng d liu ca i tng
1
4
2
3
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Kiu d liu trn Block Diagram
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Block diagram
Chc nng t sp xp
cc ng dy gn gng
Nhn t hp Ctrl+B xa
cc ng dy b t
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Terminals trong Block Diagram
Terminal l i tng tn ti trong Block Diagram
ln Front panel
Lun tn ti cc ng vo ra truyn thng gia
Front panel v Block Diagram
Thay i kiu hin th ca cc terminals bng cch
nhp phi chut v chn View as Icon
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Block Diagram
Function Nodes
Phn t hot ng ch yu ca labVIEW
C nn mu vng nht
Khng tn ti trong Front Panel
subVI Nodes:
subVI l nhng VI c to ra s dng cho nhng VI
khc
subVI cha Front Panel v Block Diagram ring ca n
VI Express
L kiu t bit ca subVI
Nn mu xanh

Lp trnh LabVIEW GV: Nguyn Thanh Tn
So snh
Front panel
Cha cc biu tng iu
khin v hin th (giao din
ngi dng)

Truy cp Control Palette
(chut phi)

Bao gm cc control v
Indicator
Block Diagram
Chc code chng trnh
(lp trnh)


Truy cp Function Palette
(chut phi)

Bao gm cc terminals, VIs,
subVIs, functions,
constants, Structures,
wires,.
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Tm kim v Help
Tm Controls, Functions, Vis s dng nt Search
trn Controls v Functions palette
Chn Help>>Show Context Help (Ctrl+H) hoc
nhp vo biu tng
Help: Search the labVIEW Help, NI Example Finder,
hin th cc thng tin c bn v i tng labVIEW


Lp trnh LabVIEW GV: Nguyn Thanh Tn
Phn 2
K THUT G RI (DEBUG)
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Vn thng gp
Dy b t (ni dy b sai kiu d liu hoc kiu
vo/ra)
Mt terminal trn Block Diagram khng c ni
dy
Mt subVI b hng hoc do ngi dng sa i
cc Connector pane
D liu ang s dng mc nh khng chnh xc
Lp trnh LabVIEW GV: Nguyn Thanh Tn
DEBUG
1. Execution Highlighting c s dng xem
cc lung d liu chy trn Block Diagram
2. Single Stepping
Single-step: chy xuyn qua VI xem kt qu
hot ng ca mi VI trn Block Diagram
Tm dng thc thi mt subVI chnh sa gi tr
cc Control v Indicator


Lp trnh LabVIEW GV: Nguyn Thanh Tn
DEBUG
3. Probes quan st cc gi tr v d liu tc th
kim tra li ng ra ca VI v function

4. Gi li gi tr trong cc dy c th quan st d
liu trn dy sau khi thc hin xong

5. Breakpoint: VI s tm dng v nt Pause s xut
hin mu ti v tr Breakpoint.

Lp trnh LabVIEW GV: Nguyn Thanh Tn
Phn 3
LP TRNH THEO MODUL
Lp trnh LabVIEW GV: Nguyn Thanh Tn
subVIs
Mt VI trong mt VI khc gi l subVI

Mt subVI xem nh mt chng trnh con trong
ngn ng dng text

Gc bn phi ca front panel v block diagram hin
th Icon ca subVI

Icon xc nh cc VI khi bn t n trn s khi
Lp trnh LabVIEW GV: Nguyn Thanh Tn
subVIs
Lp trnh LabVIEW GV: Nguyn Thanh Tn
subVIs
Lp trnh LabVIEW GV: Nguyn Thanh Tn
subVIs
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Icon ca subVI
Ta c th to v ty chnh Icon bng cch nhp
chut phi vo biu tng gc trn bn phi ca
front panel hoc block diagram v chn Edit icon
Nhp chut phi vo biu tng gc trn bn
phi ca front panel v chn Show connector
xc nh cc terminal vo/ra cho subVI
Lp trnh LabVIEW GV: Nguyn Thanh Tn
s dng mt VI ging nh mt subVI, ta to mt
Icon v Connector pane sau thit k Front panel
v Blockdiagram
Lp trnh LabVIEW GV: Nguyn Thanh Tn
To Icon
Icon: biu tng miu t gi nh ca mt VI
Click chut phi ln Icon pane (Panel hoc
Diagram) gc ca s v chn Edit icon
Lp trnh LabVIEW GV: Nguyn Thanh Tn
To Connector Pane
Connector pane : bn ch th cc input v output
ca mt VI
Nhp chut phi vo biu tng gc trn bn
phi ca front panel v chn Show connector
xc nh cc terminal vo ra
Chn im
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Tr gip v phn loi u cui
Phn loi u vo/ra:
Required Li nu khng kt ni
Recommended Cnh bo nu khng kt ni
Optional Khng c tc dng nu khng kt ni
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Tr gip v phn loi u cui
Lp trnh LabVIEW GV: Nguyn Thanh Tn
S dng subVIs
t subVI trn block diagram:
Click chn mt VI trn Function palette
Di chuyn n VI bn mun s dng nh mt subVI
Double click ln n t trong Block diagram
t mt VI ang m trn Block diagram ca VI
ang m khc
Click vo biu tng ca VI bn mun s dng nh mt
subVI
Ko biu tng (Icon) cho vo Block diagram ca VI khc
Lp trnh LabVIEW GV: Nguyn Thanh Tn
To mt subVI
Chn phn no mun a vo subVI
Chn Edit>> Create SubVI
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Phn 4
LP TRNH TRONG VI
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Dataflow
LabVIEW hot ng theo kiu dataflow thc thi
cc chng trnh trong VI
Block diagram thc thi ph thuc vo lung d liu
th Block diagram s KHNG thc thi t tri qua
phi
Mt nt ch c th thc hin khi d liu c sn
ti tt c cc u vo ca n
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Dataflow
V d: Nt no thc thi trc?
a) Add
b) Subtract
c) Random Number
d) Divide
e) Sine
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Cc kiu d liu trong labVIEW
Terminals: thit b u cui trc quan hin th cc
kiu d liu
Numeries: kiu d liu s hc hin th cc con s
hoc bin s (chn Representation thay i kiu
d liu numeric)
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Cc kiu d liu trong labVIEW
Boolean: kiu True/False, 1/0, ng/sai
Boolean: c th l control (Knob, cng tc,..) hay
hin th (led,)
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Cc kiu d liu trong labVIEW
String: mt chui cc hin th hoc khng hin th
cc k t ASCII
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Cc kiu d liu trong labVIEW
Enum bao gm mt cp gi tr, mt chui v mt s,
cc Enum c th l mt danh sch c xc nh
bng cc gi tr
Enum lit k cc control, constant hoc indicator
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Cc kiu d liu trong labVIEW
Dynamic: kiu d liu ng lu tr cc thng tin
c to ra hoc thu thp bi VI Express

Nu s dng VI thch hp th labVIEW s t ng
chuyn i thnh kiu d liu ng
Lp trnh LabVIEW GV: Nguyn Thanh Tn
K THUT LP TRNH
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Th vin trong Block Diagram
Functions\Programming:
Structures: cc cu trc vong lp (while, for, case,
sequence, formula, feedback,.)
Array: cc kiu trch lc, bin i, to mng,
Cluster: cu trc gom nhm (bundle, unbundle,)
Numeric: s hc (ton hc, random numer, hng s)
Boolean: dng logic (cng, bin i s boolean, .)
String: text (string constant, bin i chui,)
Comparision: cc hm so snh
Timing: hm tr thi gian
Dialog & user..: button, thng bo, giao din,.
File I/O: c, ghi file trong labVIEW.

Lp trnh LabVIEW GV: Nguyn Thanh Tn
Th vin trong Block Diagram
Measurement I/O: DAQmx Data Acquisiton (thu
thp d liu): DAQ Assistant
Instrument I/O: thu thp d liu qua cc giao tip
ni tip,
Mathematics: cc hm ton hc, tn hiu (sin,cos...)
Signal Processing: tn hiu m phng, dng sng,
th, lc, ph,.
Express: Input (DAQ, scope, simulate sig), signal
analysis, output, Merge signals, Arithmatic &
comparision, Timing, Structure,

Lp trnh LabVIEW GV: Nguyn Thanh Tn
Th vin trong Front Panel
Modern:
Numeric: s control, indicator,..
Boolean: logic (SW, button, led,)
String & path: text control, text indicator, file path,..
Array, matrix & cluster: mng control, indicator, gom
nhm,
Graph: th (waveform chart, waveform graph,..)
System / Classic: cc dng control, indicator khc:
s hc, boolean, text, button, SW,
Express: numeric control, numeric indicator, tex
control, text indicator, button& Swithes, led, Graph,..
Lp trnh LabVIEW GV: Nguyn Thanh Tn
While Loop
Lp trnh LabVIEW GV: Nguyn Thanh Tn
While Loop
1. Chn While Loop


2. Khoanh vng m mun
t trong vong lp


3. Ko th vo vong lp
cc nt v sau i dy

Lp trnh LabVIEW GV: Nguyn Thanh Tn
While Loop
Bin m (Interation terminal): tr v s ln lp
thc hin, bt u t zero-0
iu kin kt thc (conditional terminal): xc nh
khi vong lp dng
Lp trnh LabVIEW GV: Nguyn Thanh Tn
While Loop - Tunnels
Tunnel truyn d liu vo ra cho vong lp
D liu vt ra khi vong lp sau khi n chm dt
Khi mt ng d liu ni vo Tunnel ca mt vong
lp, vong lp ch thc thi sau khi d liu n Tunnel
hoc d liu xut ra Tunnel sau khi kt thc vong
lp
Lp trnh LabVIEW GV: Nguyn Thanh Tn
While Loop Error Checking v Error
Handling
Dng mt error cluster trong while loop dng
vong lp while loop nu xy ra li
Lp trnh LabVIEW GV: Nguyn Thanh Tn
For Loop
Lp trnh LabVIEW GV: Nguyn Thanh Tn
For Loop
S
ln
lp
Bin
m
Lp trnh LabVIEW GV: Nguyn Thanh Tn
For Loops Conditional Terminal
Conditional Terminal: iu kin dng, vong lp For
Loop s dng li khi nhn mt Boolean Conditional
hoc mt li xy ra
Lp trnh LabVIEW GV: Nguyn Thanh Tn
For Loops Conditional Terminal
Mt khi vung mu c gn vo ging nh
while loop
iu kin dng nm gc phi ca vong lp
Lp trnh LabVIEW GV: Nguyn Thanh Tn
For Loops Numeric Conversion
8 bytes 4 bytes
Lp trnh LabVIEW GV: Nguyn Thanh Tn
V d
Lp trnh LabVIEW GV: Nguyn Thanh Tn
So snh For Loop/ While Loop
Lp trnh LabVIEW GV: Nguyn Thanh Tn
nh thi cho mt VI (Timing)
Ti sao phi nh thi?
Kim sot tn s m ti vong lp thc hin
Cung cp ti nguyn cho b vi x l v thi gian hon
thnh cc nhim v khc, chng hn nh tc v x l giao
din ngi dng
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Timing Wait Functions
Mt Wait Function trong vong lp cho php VI
trng thi Sleep vi thi gian c nh trc
Cho php b x l thc hin cc tc v khc trong
qu trnh ch i
S dng xung ng h ca h iu hnh tnh bng
ms
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Thanh ghi (Shift Registers)
Thc hin vic truyn kt qu vo/ra vong lp hoc
t vong lp trc sang vong lp sau
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Shift Registers
Click chut phi vo khung vong lp v chn Add
Shift Register
Thanh ghi dch bn phi s lu tr kt qu sau mi
ln lp
Thanh ghi dch bn tri s cung cp d liu cho ln
lp tip theo
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Shift Registers
? ?
? ?
Output=2 Output=4
Output=3 Output=5
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Stacked Shift Registers
Ngn xp thanh ghi lu tr nhiu gi tr t cc ln
lp trc v truyn gi tr ny n ln lp k tip
Click chut phi vo thanh ghi dch (Shift register)
bn tri v chn Add Element
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Nt phn hi
S xut hin t ng trong vong lp For hoc While
nu nh bn i dy u ra ca mt subVI,
function, hoc group ca subVI v functions ti u
vo ca VI tng ng, function, hoc group.

D liu lu tr khi m hon tt mt vong lp, gi
d liu ti vong lp k tip v truyn i mi kiu d
liu.
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Nt phn hi
i dy t u ra ti u
vo c t ng to ra
mt nt phn hi
<Hoc>
t mt nt phn
hi t bng Functions
Structures


Lp trnh LabVIEW GV: Nguyn Thanh Tn
Cu trc Case
Thc hin v hin th ch c mt trng hp hoc
mt s con trong mt thi im
Ng vo s xc nh cho php trng hp no hay
s no c thc thi
Cu trc Case cng tng t nh cu trc
If..then..else trong cc ngn ng lp trnh dng text
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Cu trc Case
Case Selector Label: cha tn ca trng hin ti
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Cu trc Case
u vo lun c sn cho tt c cc trng hp
Phi xc nh mi u ra tunnel cho mi trng
hp
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Cu trc Case - Default
Nu ng vo khng ri vo bt k trng hp no
th cu trc Case s thc hin chng trnh mc
nh (default)
Nu khng c dy no a vo th cc kiu d liu
s c default theo bng sau:
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Cu trc Case - Boolean
Ng vo l Boolean ch to ra hai trng hp: True
hoc False
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Cu trc Case - Integer
Ta c mi trng hp (case) cho mi s nguyn
Nu s nguyn m khng c mt trng hp c
xc nh th t ng chn trng hp mc nh

Lp trnh LabVIEW GV: Nguyn Thanh Tn
Cu trc Case - String
Mi trng hp tng ng vi mt chui nht nh
Chui khng xc nh th n s chn trng hp
mc nh
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Cu trc Case - Enum
Cung cp cho ngi dng mt danh sch cc bng
ghi chn
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Cu trc Case Error Checking v
Error Handling
S dng cu trc Case trong VI thc thi chng
trnh khi khng c li, v b qua chng trnh khi c
li pht sinh
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Mng (Arrays)
Mt mng (Array) c trng bi kch thc v phn
t trong n
Phn t (Element): d liu nm trong mng
Kch thc: chiu di v chiu rng, ct x hng y
Mng c th c mt hoc nhiu chiu v c (2^31-1)
phn t trn mi chiu
Mng s dng mt tp hp cng kiu d liu v
cc php ton mang tnh lp li nhiu ln
Lp trnh LabVIEW GV: Nguyn Thanh Tn
To mng
1. t mt mng trng (array shell) ln front panel
2. Ko hoc th i tng hoc phn t vo array
shell



3. V d: mng hng
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Array Auto Idexing
Khi ch Auto index c m ng ra tunnel,
mng ng ra nhn tng phn t mi mi vong
Mng to ra lun c kch thc (s phn t) bng
vi s ln thc thi ca vong lp
Click chut phi ln tunnel v chn enable/disable
auto- indexing
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Mng 2D
Lu tr cc phn t dng li
to mng a chiu: click chut phi vo index
display v chn Add Dimention
Mng cha
khi to
Mng khi
to gi tr ban
u
Lp trnh LabVIEW GV: Nguyn Thanh Tn
To mng 2D
C th to 2 vong lp For loop lng vo nhau to
mng 2D
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Array
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Clusters Kiu gom nhm
Clusters l tp hp nhiu kiu d liu khc nhau
Dng hm Bundle hoc Unbundle t hp hoc
phn gii mt Cluster
Lp trnh LabVIEW GV: Nguyn Thanh Tn
To mt Cluster
to mt Cluster control hoc indicator trn front
panel:
t mt cluster shell trn front panel
Ko th cc i tng hoc phn t vo cluster shell nh:
numeric, boolean, string, path, refnum, array,
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Error Cluster
LabVIEW s dng error cluster chc thng tin li
Mt error cluster cha cc phn t sau:
Status: kiu boolean, tr v True nu khng c li v
ngc li
Code: kiu 32 bits Signed integer xc nh m li
Source: kiu string xc nh ni b li
Lp trnh LabVIEW GV: Nguyn Thanh Tn
So snh vi Array
Ging nhau: c control hoc indicator nhng ng
thi khng cha c hai
Cluster c kch thc thay i so vi kch thc c
nh ca array
Cluster cha nhiu kiu d liu khc nhau; con
array ch cha mt kiu d liu duy nht
Lp trnh LabVIEW GV: Nguyn Thanh Tn
MT S K THUT
THNG DNG
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Lp trnh phn on (Sequential
Programming)
Cc VI bn vit s c thc hin mt cch tun
t
Khng c bt k s u tin no trong block
diagram, v khng bit c ci no trc ci no
sau.
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Lp trnh phn on (Sequential
Programming)
S dng error clusters u tin qu trnh thc thi
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Lp trnh phn on (Sequential
Programming)
S dng cu trc on (Sequence structure) u
tin thc thi
Mt cu trc vi cc khung (frames), Mi khung s cha
mt tc v
Khung th 2 khng th thc thi cho n khi mi th trong
khung th nht hon thnh
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Lp trnh phn on (Sequential
Programming)
Trnh s dng qu nhiu cu trc phn on
Bn khng th dng thc thi mt thnh phn trong
mt on
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Lp trnh phn on (Sequential
Programming)
Cch tt nht vit VI ny l nh km cc hp
thoi trong cu trc Case, dy error cluster s
c ni ti b chn ca cu trc case(case
selectors)
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Trng thi my (State Machines)
Lp trnh trng thi(State Programming) l mu
thit k nhm thc hin mt s trng thi hoc
mt lu
Khi no s dng state machines?
Thng c s dng to cc giao din, i vi
mi ngi dng khc nhau th s c giao din khc
nhau
Thng c s dng th nghim qu trnh,
trong mi trng thi i din mi phn on ca
qu trnh.
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Trng thi my (State Machines)
Mt state machine bao gm nhiu trng thi v
mt chc nng chuyn tip n cc trng thi k
tip
Mi trng thi c th dn ti mt hoc trng thi
hoc kt thc qu trnh thc thi
Lp trnh LabVIEW GV: Nguyn Thanh Tn
File I/O
File I/O c v ghi vo mt file
Mt phng php in hnh truy xut file:
Lp trnh LabVIEW GV: Nguyn Thanh Tn
nh dng File
(File Formats)
LabVIEW c th s dng hoc to ra cc nh
dng tp tin sau y:
Binary l kiu nh dng cp thp cho tt c cc
nh dng khc s dng
ASCIIL kiu t bit ca binary file, l nh dng
tiu chun cho hu ht tt c chng trnh
LVM LabVIEW measurement data file (.lvm) nh
dng ca LabVIEW, cha bn tnh v vn bn
TDMSMt kiu file Binary c to bi cc sn
phm ca NI bao gm 2 file tch ri: Mt binary file
v mt binary index file
Lp trnh LabVIEW GV: Nguyn Thanh Tn
nh dng File
(File Formats)
Trong phn ny, tp trung vo vic to text
(ASCII) files
S dng cc Text file trong cc tnh hung sau
y :
Truy xut cc tp tin t cc ng dng khc
Khng quan tm n b nh trng, v tc I/O
ca file
Khng nn truy xut dng random read hoc
write
Lp trnh LabVIEW GV: Nguyn Thanh Tn
High-level File I/O
High-level VIs
truy xut I/O file phi qua 3 bc chung
Khng hiu qu cho vic cu hnh hoc thit k cho cc
tnh nng ring ca file




Low-level VIs
VI ring bit cho mi bc
Nu ghi file trong mt vong lp, s dng hm low-level
file I/O
Lp trnh LabVIEW GV: Nguyn Thanh Tn
High-Level File I/O
Write to Spreadsheet File
Chuyn i mt mng dng double-precision n
text string v ghi string ny n ASCII file
Read From Spreadsheet File
c cc gi tr s theo dong (line) hoc hng
(row) t mt text file cha s v xut ra ngoi mt
mng 2D array vi cc phn t dng s double-
precision
Write to/Read from Measurement File
Mt dng Express VI cho php ghi (write), c
(read) mt LVM hay TDMS file
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Low-Level File I/O VIs
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Variable
Cannot pass data between parallel loops with a
wire
Variables allow you to circumvent normal dataflow
by passing data from one place to another without
connecting the two places with a wire
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Variable
Variables are block diagram elements that allow
you to access or store data in another location
Variables can be of the following types:
Local: store data in front panel controls and
indicators Global: store data in special repositories
that can be accessed from multiple VIs
Functional Global: store data in While Loop shift
registers
Shared: transfers data between various distributed
targets connected together over a network
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Local Variable
Use local variables to pass data within a single VI
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Global Variable
Use a global variable or a single process shared
variable to share data between multiple VIs
Use a global variable to share data among VIs on
the same computer, especially if you do not use a
project file
Use a single process shared variable if you may
need to share the variable information among VIs
on multiple computers in the future
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Property Node
Property Nodes access the properties of an object
In some applications, you might want to modify the
appearance of front panel objects programmatically
in response to certain inputs
If a user enters an invalid password, you might want
a red LED to start blinking
If a data point is above a certain value, you might
want to show a red trace instead of a green one
Property Nodes allow you to make these
modifications programmatically
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Property Node
Property Nodes execute in order from top to bottom
If an error occurs on a terminal, the node stops at
that terminal, returns an error, and does not execute
any further terminals
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Control References
A control reference is a reference to a front panel
object
Wire control references to generic Property Nodes
Pass control references to subVI
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Control References
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Control References
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Invoke Nodes
Invoke Nodes access the methods of an object
Use the Invoke Node to perform actions, or
methods, on an application or VI
Unlike the Property Node, a single Invoke Node
executes only a single method on an application or
VI
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Invoke Nodes
To create an implicitly-linked Invoke Node, right-
click the control and select CreateInvoke Node
and choose a method
An example of a method that is common to all
controls is the Reinitialize to Default method
The Waveform Graph has the method Export
Image:
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Events Programming
Lp trnh LabVIEW GV: Nguyn Thanh Tn
Events Programming
Examples of User Interface (Static) Events
Pressing a button on the mouse, moves or clicks the
mouse
Pressing a key on the keyboard
Value (Signaling) Property can generate a
programmatic event
Lp trnh LabVIEW GV: Nguyn Thanh Tn
USB 6008
Lp trnh LabVIEW GV: Nguyn Thanh Tn
THANK YOU!

You might also like