Upload
aducbkfet
View
371
Download
43
Embed Size (px)
Citation preview
7/21/2019 LP TRNH labVIEW C BN.pdf
1/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
Hc phn
LP TRNH labVIEW C BN
7/21/2019 LP TRNH labVIEW C BN.pdf
2/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
LabVIEW
7/21/2019 LP TRNH labVIEW C BN.pdf
3/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
labVIEW
7/21/2019 LP TRNH labVIEW C BN.pdf
4/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
Lp trnh
B1: Phng php pht trin phn mm
B2: Xy dng gii thut
B3: Thit k gii thutB4: Thc thi
B5: Kim tra
B6: Bo tr Sa cha
B7: To d n
7/21/2019 LP TRNH labVIEW C BN.pdf
5/125
Lp trnh LabVIEWGV: 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
7/21/2019 LP TRNH labVIEW C BN.pdf
6/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
Phn 1
THAO TC TRN LABVIEW
7/21/2019 LP TRNH labVIEW C BN.pdf
7/125Lp trnh LabVIEWGV: Nguyn Thanh Tn
Khi ng LabVIEW
7/21/2019 LP TRNH labVIEW C BN.pdf
8/125Lp trnh LabVIEWGV: Nguyn Thanh Tn
Giao din labVIEW
Tham kho
Thanh menu
To new VI(Blank VI)
M file lu
7/21/2019 LP TRNH labVIEW C BN.pdf
9/125Lp trnh LabVIEWGV: Nguyn Thanh Tn
To mt VI mi
7/21/2019 LP TRNH labVIEW C BN.pdf
10/125Lp trnh LabVIEWGV: 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
7/21/2019 LP TRNH labVIEW C BN.pdf
11/125Lp trnh LabVIEWGV: Nguyn Thanh Tn
Virtual Instruments (VIs)
Giao din chnhControls = Inputs (Vo)
Indicators = Outputs (Ra)
Biu khi
Cc khi chng trnh ca giao din chnh
Cc thnh phn i dy.
7/21/2019 LP TRNH labVIEW C BN.pdf
12/125Lp trnh LabVIEWGV: Nguyn Thanh Tn
Icon/Connector pane
Icon: biu tng ca mt VIhay mt subVIConnector pane: Bn ch th cc input v outputca mt VI
Icon/Connector pane rt cn thit cho mt VI cngnh subVI
7/21/2019 LP TRNH labVIEW C BN.pdf
13/125Lp trnh LabVIEWGV: Nguyn Thanh Tn
Giao din lp trnh
7/21/2019 LP TRNH labVIEW C BN.pdf
14/125Lp trnh LabVIEWGV: Nguyn Thanh Tn
Giao din lp trnh
7/21/2019 LP TRNH labVIEW C BN.pdf
15/125Lp trnh LabVIEWGV: Nguyn Thanh Tn
Thanh cng c
7/21/2019 LP TRNH labVIEW C BN.pdf
16/125Lp trnh LabVIEWGV: 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 dnchnh v cc i tng ca biu khi
Hin th bng cng c (Tools Palette), chn
ViewShow Tools Palette
7/21/2019 LP TRNH labVIEW C BN.pdf
17/125Lp trnh LabVIEWGV: Nguyn Thanh Tn
Front panel
Lp trnh:1. Thc hin to lnh chng trnh
bng cch nhp chut phi (lycc control v indicator)
2. Chn cc i tng ph hp3. Ko v th i tng trong khung
lnh
1
2
7/21/2019 LP TRNH labVIEW C BN.pdf
18/125Lp trnh LabVIEWGV: Nguyn Thanh Tn
Front panel
7/21/2019 LP TRNH labVIEW C BN.pdf
19/125Lp trnh LabVIEWGV: Nguyn Thanh Tn
Front panel
-To cc lnh trn FP-Thay i nhn, chnh text v nh dng-Thay i c tnh i tng
7/21/2019 LP TRNH labVIEW C BN.pdf
20/125Lp trnh LabVIEWGV: Nguyn Thanh Tn
Block diagram
Functions (Hm) nm trongBlock Diagram
Nhm to chng trnh honchnh
V d:While loop, For Loop
Whileroom is active
door is open
Loop
Webcam
7/21/2019 LP TRNH labVIEW C BN.pdf
21/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
Block diagram
7/21/2019 LP TRNH labVIEW C BN.pdf
22/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
Block diagram
1 Cc lin kt vi FP2 ng lnh: Truyn d liu (Wires)
3 Cc giao im trn mi i tng (Nodes)
4. Dng d liu ca i tng1
4
23
7/21/2019 LP TRNH labVIEW C BN.pdf
23/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
Kiu d liu trn Block Diagram
7/21/2019 LP TRNH labVIEW C BN.pdf
24/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
Block diagram
Chc nng t sp xpcc ng dy gn gng
Nhn t hp Ctrl+B xacc ng dy b t
7/21/2019 LP TRNH labVIEW C BN.pdf
25/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
Terminals trong Block Diagram
Terminal l i tng tn ti trong Block Diagramln Front panel
Lun tn ti cc ng vo ra truyn thng giaFront panel v Block Diagram
Thay i kiu hin th ca cc terminals bng cchnhp phi chut v chn View as Icon
7/21/2019 LP TRNH labVIEW C BN.pdf
26/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
Block Diagram
Function NodesPhn 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 VIkhc
subVI cha Front Panel v Block Diagram ring ca nVI Express
L kiu t bit ca subVI
Nn mu xanh
7/21/2019 LP TRNH labVIEW C BN.pdf
27/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
So snh
Front panel Cha cc biu tng iukhin v hin th (giao dinngi dng)
Truy cp Control Palette(chut phi)
Bao gm cc control vIndicator
Block Diagram Chc code chng trnh(lp trnh)
Truy cp Function Palette(chut phi)
Bao gm cc terminals, VIs,subVIs, functions,
constants, Structures,
wires,.
7/21/2019 LP TRNH labVIEW C BN.pdf
28/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
Tm kim v Help
Tm Controls, Functions, Vis s dng nt Searchtrn Controls v Functions palette
Chn Help>>Show Context Help (Ctrl+H) hocnhp vo biu tng
Help: Search the labVIEW Help, NI Example Finder,hin th cc thng tin c bn v i tng labVIEW
7/21/2019 LP TRNH labVIEW C BN.pdf
29/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
Phn 2
K THUT G RI (DEBUG)
7/21/2019 LP TRNH labVIEW C BN.pdf
30/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
Vn thng gp
Dy b t (ni dy b sai kiu d liu hoc kiuvo/ra)
Mt terminal trn Block Diagram khng c ni
dyMt subVI b hng hoc do ngi dng sa i
cc Connector pane
D liu ang s dng mc nh khng chnh xc
7/21/2019 LP TRNH labVIEW C BN.pdf
31/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
DEBUG
1. Execution Highlighting c s dng xemcc 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
7/21/2019 LP TRNH labVIEW C BN.pdf
32/125
Lp trnh LabVIEWGV: 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.
7/21/2019 LP TRNH labVIEW C BN.pdf
33/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
Phn 3
LP TRNH THEO MODUL
7/21/2019 LP TRNH labVIEW C BN.pdf
34/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
subVIs
Mt VI trong mt VI khc gi l subVI
Mt subVI xem nh mt chng trnh con trongngn ng dng text
Gc bn phi ca front panel v block diagram hinth Icon ca subVI
Icon xc nh cc VI khi bn t n trn s khi
7/21/2019 LP TRNH labVIEW C BN.pdf
35/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
subVIs
7/21/2019 LP TRNH labVIEW C BN.pdf
36/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
subVIs
7/21/2019 LP TRNH labVIEW C BN.pdf
37/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
subVIs
7/21/2019 LP TRNH labVIEW C BN.pdf
38/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
Icon ca subVI
Ta c th to v ty chnh Icon bng cch nhpchut phi vo biu tng gc trn bn phi cafront panel hoc block diagram v chn Edit icon
Nhp chut phi vo biu tng gc trn bn
phi ca front panel v chn Show connectorxc nh cc terminal vo/ra cho subVI
7/21/2019 LP TRNH labVIEW C BN.pdf
39/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
s dng mt VI ging nh mt subVI, ta to mtIcon v Connector pane sau thit k Front panelv Blockdiagram
7/21/2019 LP TRNH labVIEW C BN.pdf
40/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
To Icon
Icon: biu tng miu t gi nh ca mt VIClick chut phi ln Icon pane (Panel hocDiagram) gc ca s v chn Edit icon
7/21/2019 LP TRNH labVIEW C BN.pdf
41/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
To Connector Pane
Connector pane : bn ch th cc input v outputca mt VI
Nhp chut phi vo biu tng gc trn bnphi ca front panel v chn Show connector
xc nh cc terminal vo ra
Chn im
7/21/2019 LP TRNH labVIEW C BN.pdf
42/125
Lp trnh LabVIEWGV: 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
7/21/2019 LP TRNH labVIEW C BN.pdf
43/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
Tr gip v phn loi u cui
7/21/2019 LP TRNH labVIEW C BN.pdf
44/125
Lp trnh LabVIEWGV: 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 VIang m khc
Click vo biu tng ca VI bn mun s dng nh mtsubVI
Ko biu tng (Icon) cho vo Block diagram ca VI khc
7/21/2019 LP TRNH labVIEW C BN.pdf
45/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
To mt subVI
Chn phn no mun a vo subVI
Chn Edit>> Create SubVI
7/21/2019 LP TRNH labVIEW C BN.pdf
46/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
Phn 4
LP TRNH TRONG VI
7/21/2019 LP TRNH labVIEW C BN.pdf
47/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
Dataflow
LabVIEW hot ng theo kiu dataflow thc thicc chng trnh trong VI
Block diagram thc thi ph thuc vo lung d liuth Block diagram s KHNG thc thi t tri qua
phiMt nt ch c th thc hin khi d liu c snti tt c cc u vo ca n
7/21/2019 LP TRNH labVIEW C BN.pdf
48/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
Dataflow
V d:Nt no thc thi trc?
a) Add
b) Subtract
c) Random Number
d) Dividee) Sine
7/21/2019 LP TRNH labVIEW C BN.pdf
49/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
Cc kiu d liu trong labVIEW
Terminals: thit b u cui trc quan hin th cckiu d liu
Numeries: kiu d liu s hc hin th cc con shoc bin s (chn Representation thay i kiu
d liu numeric)
7/21/2019 LP TRNH labVIEW C BN.pdf
50/125
Lp trnh LabVIEWGV: 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,..) hayhin th (led,)
C
7/21/2019 LP TRNH labVIEW C BN.pdf
51/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
Cc kiu d liu trong labVIEW
String: mt chui cc hin th hoc khng hin thcc k t ASCII
C ki d li l bVIEW
7/21/2019 LP TRNH labVIEW C BN.pdf
52/125
Lp trnh LabVIEWGV: 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 nhbng cc gi tr
Enum lit k cc control, constant hoc indicator
C ki d li t l bVIEW
7/21/2019 LP TRNH labVIEW C BN.pdf
53/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
Cc kiu d liu trong labVIEW
Dynamic: kiu d liu ng lu tr cc thng tinc 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
7/21/2019 LP TRNH labVIEW C BN.pdf
54/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
K THUT LP TRNH
Th i t Bl k Di
7/21/2019 LP TRNH labVIEW C BN.pdf
55/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
Th vin trong Block Diagram
Functions\Programming:Structures: cc cu trc vng 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 sboolean, .)String: text (string constant, bin i chui,)Comparision: cc hm so snhTiming: hm tr thi gianDialog & user..: button, thng bo, giao din,.File I/O: c, ghi file trong labVIEW.
Th i t Bl k Di
7/21/2019 LP TRNH labVIEW C BN.pdf
56/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
Th vin trong Block Diagram
Measurement I/O: DAQmxData Acquisiton (thuthp d liu): DAQ Assistant
Instrument I/O: thu thp d liu qua cc giao tipni 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), signalanalysis, output, Merge signals, Arithmatic &
comparision, Timing, Structure,
Th i t F t P l
7/21/2019 LP TRNH labVIEW C BN.pdf
57/125
Lp trnh LabVIEWGV: 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, gomnhm,
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,..
While Loop
7/21/2019 LP TRNH labVIEW C BN.pdf
58/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
While Loop
Whil L
7/21/2019 LP TRNH labVIEW C BN.pdf
59/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
While Loop
1. Chn While Loop
2. Khoanh vng m mun
t trong vng lp
3. Ko th vo vng lpcc nt v sau i dy
Whil L
7/21/2019 LP TRNH labVIEW C BN.pdf
60/125
Lp trnh LabVIEWGV: 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 nhkhi vng lp dng
While Loop T nnels
7/21/2019 LP TRNH labVIEW C BN.pdf
61/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
While Loop - Tunnels
Tunneltruyn d liu vo ra cho vng lp
D liu vt ra khi vng lp sau khi n chm dt
Khi mt ng d liu ni vo Tunnel ca mt vnglp, vng lp ch thc thi sau khi d liu n Tunnel
hoc d liu xut ra Tunnel sau khi kt thc vnglp
While LoopError Checking v Error
7/21/2019 LP TRNH labVIEW C BN.pdf
62/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
p g
Handling
Dng mt error cluster trong while loop dngvng lp while loop nu xy ra li
For Loop
7/21/2019 LP TRNH labVIEW C BN.pdf
63/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
For Loop
For Loop
7/21/2019 LP TRNH labVIEW C BN.pdf
64/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
For Loop
Slnlp
Binm
For Loops Conditional Terminal
7/21/2019 LP TRNH labVIEW C BN.pdf
65/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
For LoopsConditional Terminal
Conditional Terminal: iu kin dng, vng lp ForLoop s dng li khi nhn mt Boolean Conditionalhoc mt li xy ra
For Loops Conditional Terminal
7/21/2019 LP TRNH labVIEW C BN.pdf
66/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
For LoopsConditional Terminal
Mt khi vung mu c gn vo ging nhwhile loop
iu kin dng nm gc phi ca vng lp
For Loops Numeric Conversion
7/21/2019 LP TRNH labVIEW C BN.pdf
67/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
For LoopsNumeric Conversion
8 bytes 4 bytes
V d
7/21/2019 LP TRNH labVIEW C BN.pdf
68/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
V d
So snh For Loop/ While Loop
7/21/2019 LP TRNH labVIEW C BN.pdf
69/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
So snh For Loop/ While Loop
nh thi cho mt VI (Timing)
7/21/2019 LP TRNH labVIEW C BN.pdf
70/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
nh thi cho mt VI (Timing)
Ti sao phi nh thi?Kim sot tn s m ti vng lp thc hin
Cung cp ti nguyn cho b vi x l v thi gian honthnh cc nhim v khc, chng hn nh tc v x l giaodin ngi dng
Timing Wait Functions
7/21/2019 LP TRNH labVIEW C BN.pdf
71/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
TimingWait Functions
Mt Wait Function trong vng lp cho php VI trng thi Sleep vi thi gian c nh trc
Cho php b x l thc hin cc tc v khc trongqu trnh ch i
S dng xung ng h ca h iu hnh tnh bngms
Thanh ghi (Shift Registers)
7/21/2019 LP TRNH labVIEW C BN.pdf
72/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
Thanh ghi (Shift Registers)
Thc hin vic truyn kt qu vo/ra vng lp hoct vng lp trc sang vng lp sau
Shift Registers
7/21/2019 LP TRNH labVIEW C BN.pdf
73/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
Shift Registers
Click chut phi vo khung vng lp v chn AddShift RegisterThanh ghi dch bn phi s lu tr kt qu sau miln lp
Thanh ghi dch bn tri s cung cp d liu cho lnlp tip theo
Shift Registers
7/21/2019 LP TRNH labVIEW C BN.pdf
74/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
Shift Registers
? ?
? ?Output=2 Output=4
Output=3 Output=5
Stacked Shift Registers
7/21/2019 LP TRNH labVIEW C BN.pdf
75/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
Stacked Shift Registers
Ngn xp thanh ghi lu tr nhiu gi tr t cc lnlp 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
Nt phn hi
7/21/2019 LP TRNH labVIEW C BN.pdf
76/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
Nt phn hi
S xut hin t ng trong vng lp For hoc Whilenu nh bn i dy u ra ca mt subVI,function, hoc group ca subVI v functions ti uvo ca VI tng ng, function, hoc group.
D liu lu tr khi m hon tt mt vng lp, gid liu ti vng lp k tip v truyn i mi kiu dliu.
Nt phn hi
7/21/2019 LP TRNH labVIEW C BN.pdf
77/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
Nt phn hi
i dy t u ra ti u
vo c t ng to ra
mt nt phn hi
t mt nt phnhi t bng Functions
Structures
Cu trc Case
7/21/2019 LP TRNH labVIEW C BN.pdf
78/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
Cu trc Case
Thc hin v hin th ch c mt trng hp hocmt s con trong mt thi im
Ng vo s xc nh cho php trng hp no hays no c thc thi
Cu trc Case cng tng t nh cu trcIf..then..elsetrong cc ngn ng lp trnh dng text
Cu trc Case
7/21/2019 LP TRNH labVIEW C BN.pdf
79/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
Cu trc Case
Case Selector Label: cha tn ca trng hin ti
Cu trc Case
7/21/2019 LP TRNH labVIEW C BN.pdf
80/125
Lp trnh LabVIEWGV: 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 trnghp
Cu trc Case - Default
7/21/2019 LP TRNH labVIEW C BN.pdf
81/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
Cu trc Case Default
Nu ng vo khng ri vo bt k trng hp noth cu trc Case s thc hin chng trnh mcnh (default)
Nu khng c dy no a vo th cc kiu d liu
s c default theo bng sau:
Cu trc Case - Boolean
7/21/2019 LP TRNH labVIEW C BN.pdf
82/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
Cu trc Case Boolean
Ng vo l Boolean ch to ra hai trng hp: Truehoc False
Cu trc Case - Integer
7/21/2019 LP TRNH labVIEW C BN.pdf
83/125
Lp trnh LabVIEWGV: 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 cxc nh th t ng chn trng hp mc nh
Cu trc Case - String
7/21/2019 LP TRNH labVIEW C BN.pdf
84/125
Lp trnh LabVIEWGV: 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 hpmc nh
Cu trc Case - Enum
7/21/2019 LP TRNH labVIEW C BN.pdf
85/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
Cu trc Case Enum
Cung cp cho ngi dng mt danh sch cc bngghi chn
Cu trc Case Error Checking vE H dli
7/21/2019 LP TRNH labVIEW C BN.pdf
86/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
Error Handling
S dng cu trc Case trong VI thc thi chngtrnh khi khng c li, v b qua chng trnh khi cli pht sinh
Mng (Arrays)
7/21/2019 LP TRNH labVIEW C BN.pdf
87/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
Mng (Arrays)
Mt mng (Array) c trng bi kch thc v phnt 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 vcc php ton mang tnh lp li nhiu ln
To mng
7/21/2019 LP TRNH labVIEW C BN.pdf
88/125
Lp trnh LabVIEWGV: 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 arrayshell
3. V d: mng hng
ArrayAuto Idexing
7/21/2019 LP TRNH labVIEW C BN.pdf
89/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
ay uto de g
Khi ch Auto index c m ng ra tunnel,mng ng ra nhn tng phn t mi mi vng
Mng to ra lun c kch thc (s phn t) bngvi s ln thc thi ca vng lp
Click chut phi ln tunnel v chn enable/disableauto - indexing
Mng 2D
7/21/2019 LP TRNH labVIEW C BN.pdf
90/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
g
Lu tr cc phn t dng li
to mng a chiu: click chut phi vo indexdisplay v chn Add Dimention
Mng chakhi to
Mng khito gi tr ban
u
To mng 2D
7/21/2019 LP TRNH labVIEW C BN.pdf
91/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
g
C th to 2 vng lp For loop lng vo nhau to
mng 2D
Array
7/21/2019 LP TRNH labVIEW C BN.pdf
92/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
y
ClustersKiu gom nhm
7/21/2019 LP TRNH labVIEW C BN.pdf
93/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
g
Clusters l tp hp nhiu kiu d liu khc nhau
Dng hm Bundle hoc Unbundle t hp hocphn gii mt Cluster
To mt Cluster
7/21/2019 LP TRNH labVIEW C BN.pdf
94/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
to mt Cluster control hoc indicator trn frontpanel:
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,
Error Cluster
7/21/2019 LP TRNH labVIEW C BN.pdf
95/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
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 vngc li
Code: kiu 32 bits Signed integer xc nh m liSource: kiu string xc nh ni b li
So snh vi Array
7/21/2019 LP TRNH labVIEW C BN.pdf
96/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
y
Ging nhau: c control hoc indicator nhng ng
thi khng cha c hai
Cluster c kch thc thay i so vi kch thc cnh ca array
Cluster cha nhiu kiu d liu khc nhau; cnarray ch cha mt kiu d liu duy nht
7/21/2019 LP TRNH labVIEW C BN.pdf
97/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
MT S K THUTTHNG DNG
Lp trnh phn on (SequentialProgramming)
7/21/2019 LP TRNH labVIEW C BN.pdf
98/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
Programming)
Cc VI bnvitsc thchinmtcch tun
t
Khng c bt k s u tin no trong blockdiagram, v khng bitcci no trcci no
sau.
Lp trnh phn on (SequentialProgramming)
7/21/2019 LP TRNH labVIEW C BN.pdf
99/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
Programming)
S dng error clusters u tin qu trnh thc thi
Lp trnh phn on (SequentialProgramming)
7/21/2019 LP TRNH labVIEW C BN.pdf
100/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
Programming)
S dng cu trc on (Sequence structure) u
tin thc thiMt 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 trongkhung th nht hon thnh
Lp trnh phn on (SequentialProgramming)
7/21/2019 LP TRNH labVIEW C BN.pdf
101/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
Programming)
Trnh s dng qu nhiu cu trc phn on
Bn khng th dng thc thi mt thnh phn trongmt on
Lp trnh phn on (SequentialProgramming)
7/21/2019 LP TRNH labVIEW C BN.pdf
102/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
Programming)
Cch tt nht vit VI ny l nh km cc hp
thoi trong cu trc Case, dy error cluster sc ni ti b chn ca cu trc case(caseselectors)
Trng thi my (State Machines)
7/21/2019 LP TRNH labVIEW C BN.pdf
103/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
Lp trnh trng thi(State Programming) l mu
thit k nhm thc hin mt s trng thi hocmt lu
Khi no s dng state machines?
Thng c s dng to cc giao din, i vimi ngi dng khc nhau th s c giao din khcnhau
Thng c s dng th nghim qu trnh,trong mi trng thi i din mi phn on caqu trnh.
Trng thi my (State Machines)
7/21/2019 LP TRNH labVIEW C BN.pdf
104/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
Mt state machine bao gm nhiu trng thi v
mt chc nng chuyn tip n cc trng thi ktip
Mi trng thi c th dn ti mt hoc trng thi
hoc kt thc qu trnh thc thi
File I/O
7/21/2019 LP TRNH labVIEW C BN.pdf
105/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
File I/O c v ghi vo mt file
Mt phng php in hnh truy xut file:
nh dng File(File Formats)
7/21/2019 LP TRNH labVIEW C BN.pdf
106/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
(File Formats)
LabVIEW c th s dng hoc to ra cc nh
dng tp tin sau y:Binaryl kiu nh dng cp thp cho tt c cc
nh dng khc s dng
ASCIIL kiu t bit ca binary file, l nh dngtiu chun cho hu ht tt c chng trnh
LVMLabVIEW measurement data file (.lvm)nhdng ca LabVIEW, cha bn tnh v vn bn
TDMSMt kiu file Binary c to bi cc snphm ca NI bao gm 2 file tch ri: Mt binary filev mt binary index file
nh dng File(File Formats)
7/21/2019 LP TRNH labVIEW C BN.pdf
107/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
(File Formats)
Trong phn ny, tp trung vo vic to text
(ASCII) filesS dng cc Text file trong cc tnh hung sauy :
Truy xut cc tp tin t cc ng dng khc Khng quan tm n b nh trng, v tc I/Oca file
Khng nn truy xut dng random read hocwrite
High-level File I/O
7/21/2019 LP TRNH labVIEW C BN.pdf
108/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
High-level VIs truy xut I/O file phi qua 3 bc chungKhng hiu qu cho vic cu hnh hoc thit k cho cc
tnh nng ring ca file
Low-level VIsVI ring bit cho mi bcNu ghi file trong mt vng lp, s dng hm low-level
file I/O
High-Level File I/O
7/21/2019 LP TRNH labVIEW C BN.pdf
109/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
Write to Spreadsheet File
Chuyn i mt mng dng double-precision ntext string v ghi string ny n ASCII file
Read From Spreadsheet File
c cc gi tr s theo dng (line) hoc hng(row) t mt text file cha s v xut ra ngoi mtmng 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
Low-Level File I/O VIs
7/21/2019 LP TRNH labVIEW C BN.pdf
110/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
Variable
7/21/2019 LP TRNH labVIEW C BN.pdf
111/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
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
Variable
7/21/2019 LP TRNH labVIEW C BN.pdf
112/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
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 repositoriesthat can be accessed from multiple VIs
Functional Global: store data in While Loop shiftregisters
Shared: transfers data between various distributedtargets connected together over a network
Local Variable
7/21/2019 LP TRNH labVIEW C BN.pdf
113/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
Use local variables to pass data within a single VI
Global Variable
7/21/2019 LP TRNH labVIEW C BN.pdf
114/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
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 fileUse a single process shared variable if you may
need to share the variable information among VIs
on multiple computers in the future
Property Node
7/21/2019 LP TRNH labVIEW C BN.pdf
115/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
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 wanta red LED to start blinking
If a data point is above a certain value, you mightwant to show a red trace instead of a green one
Property Nodes allow you to make these
modifications programmatically
Property Node
7/21/2019 LP TRNH labVIEW C BN.pdf
116/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
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
Control References
7/21/2019 LP TRNH labVIEW C BN.pdf
117/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
A control reference is a reference to a front panel
object
Wire control references to generic Property Nodes
Pass control references to subVI
Control References
7/21/2019 LP TRNH labVIEW C BN.pdf
118/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
Control References
7/21/2019 LP TRNH labVIEW C BN.pdf
119/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
Invoke Nodes
7/21/2019 LP TRNH labVIEW C BN.pdf
120/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
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 orVI
Invoke Nodes
7/21/2019 LP TRNH labVIEW C BN.pdf
121/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
To create an implicitly-linked Invoke Node, right-
click the control and select CreateInvoke Nodeand choose a method
An example of a method that is common to all
controls is the Reinitialize to Default methodThe Waveform Graph has the method Export
Image:
Events Programming
7/21/2019 LP TRNH labVIEW C BN.pdf
122/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
Events Programming
7/21/2019 LP TRNH labVIEW C BN.pdf
123/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
Examples of User Interface (Static) Events
Pressing a button on the mouse, moves or clicks themouse
Pressing a key on the keyboard
Value (Signaling) Property can generate aprogrammatic event
USB 6008
7/21/2019 LP TRNH labVIEW C BN.pdf
124/125
Lp trnh LabVIEWGV: Nguyn Thanh Tn
7/21/2019 LP TRNH labVIEW C BN.pdf
125/125
THANK YOU!