Professional Documents
Culture Documents
Documents - Tips Lap Trinh Labview Co Ban
Documents - Tips Lap Trinh Labview Co Ban
Documents - Tips Lap Trinh Labview Co Ban
LP TRNH labVIEW C BN
Lp trnh LabVIEW
LabVIEW
Lp trnh LabVIEW
labVIEW
Lp trnh LabVIEW
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
GV: Nguyn Thanh Tn
Lp trnh LabVIEW
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
Phn 1
Lp trnh LabVIEW
Khi ng LabVIEW
Lp trnh LabVIEW
M file lu
Lp trnh LabVIEW
To mt VI mi
Lp trnh LabVIEW
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
Lp trnh LabVIEW
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
Lp trnh LabVIEW
Lp trnh LabVIEW
Thanh cng c
Lp trnh LabVIEW
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
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
Lp trnh LabVIEW
Front panel
Lp trnh LabVIEW
Front panel
Lp trnh LabVIEW
Block diagram
Functions (Hm) nm trong
Block Diagram
Nhm to chng trnh hon
chnh
V d: While loop, For Loop
Webcam
Lp trnh LabVIEW
Block diagram
Lp trnh LabVIEW
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
3
GV: Nguyn Thanh Tn
2
4
Lp trnh LabVIEW
Lp trnh LabVIEW
Block diagram
Nhn t hp Ctrl+B xa
cc ng dy b t
Chc nng t sp xp
cc ng dy gn gng
Lp trnh LabVIEW
Lp trnh LabVIEW
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
GV: Nguyn Thanh Tn
Lp trnh LabVIEW
So snh
Front panel
Block Diagram
Bao gm cc control v
Indicator
Bao gm cc terminals,
VIs, subVIs, functions,
constants, Structures,
wires,.
Lp trnh LabVIEW
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
Phn 2
K THUT G RI (DEBUG)
Lp trnh LabVIEW
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
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
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
Phn 3
Lp trnh LabVIEW
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
subVIs
Lp trnh LabVIEW
subVIs
su
bV
Is
Lp trnh LabVIEW
subVIs
Lp trnh LabVIEW
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
Lp trnh LabVIEW
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
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
Lp trnh LabVIEW
Lp trnh LabVIEW
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
Lp trnh LabVIEW
To mt subVI
Chn phn no mun a vo subVI
Chn Edit>> Create SubVI
Lp trnh LabVIEW
Phn 4
LP TRNH TRONG VI
Lp trnh LabVIEW
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
Dataflow
V d: Nt no thc thi trc?
a) Add
b) Subtract
c) Random Number
d) Divide
e) Sine
Lp trnh LabVIEW
Lp trnh LabVIEW
Lp trnh LabVIEW
Lp trnh LabVIEW
Lp trnh LabVIEW
Lp trnh LabVIEW
K THUT LP TRNH
Lp trnh LabVIEW
Th vi n
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.
GV: Nguyn Thanh Tn
Lp trnh LabVIEW
Th vi n
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,
GV: Nguyn Thanh Tn
Lp trnh LabVIEW
Lp trnh LabVIEW
While Loop
Lp trnh LabVIEW
While Loop
1. Chn While Loop
3. Ko th vo vong lp
cc nt v sau i dy
GV: Nguyn Thanh Tn
Lp trnh LabVIEW
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
Lp trnh LabVIEW
Lp trnh LabVIEW
For Loop
Lp trnh LabVIEW
For Loop
S
ln
lp
Bin
m
Lp trnh LabVIEW
Lp trnh LabVIEW
Lp trnh LabVIEW
8 bytes
4 bytes
Lp trnh LabVIEW
V d
Lp trnh LabVIEW
Lp trnh LabVIEW
Lp trnh LabVIEW
Lp trnh LabVIEW
Lp trnh LabVIEW
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
Shift Registers
Output=3
Output=5
Output=4
Output=2
Lp trnh LabVIEW
Lp trnh LabVIEW
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
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
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
Cu trc Case
Case Selector Label: cha tn ca trng hin ti
Lp trnh LabVIEW
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
Lp trnh LabVIEW
Lp trnh LabVIEW
Lp trnh LabVIEW
Lp trnh LabVIEW
Lp trnh LabVIEW
Lp trnh LabVIEW
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
Lp trnh LabVIEW
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
Lp trnh LabVIEW
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
To mng 2D
C th to 2 vong lp For loop lng vo nhau to
mng 2D
Lp trnh LabVIEW
Array
Lp trnh LabVIEW
Lp trnh LabVIEW
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
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
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
MT S K THUT
THNG DNG
Lp trnh LabVIEW
Lp trnh LabVIEW
Lp trnh LabVIEW
Lp trnh LabVIEW
Lp trnh LabVIEW
Lp trnh LabVIEW
Lp trnh LabVIEW
Lp trnh LabVIEW
File I/O
File I/O c v ghi vo mt file
Mt phng php in hnh truy xut file:
Lp trnh LabVIEW
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
GV: Nguyn Thanh Tn
Lp trnh LabVIEW
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
Low-level VIs
VI ring bit cho mi bc
Nu ghi file trong mt vong lp, s dng hm low-level
file I/O
GV: Nguyn Thanh Tn
Lp trnh LabVIEW
Lp trnh LabVIEW
Lp trnh LabVIEW
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
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
GV: Nguyn Thanh Tn
Lp trnh LabVIEW
Local Variable
Use local variables to pass data within a single VI
Lp trnh LabVIEW
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
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
GV: Nguyn Thanh Tn
Lp trnh LabVIEW
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
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
Control References
Lp trnh LabVIEW
Control References
Lp trnh LabVIEW
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
Invoke Nodes
To create an implicitly-linked Invoke Node, rightclick 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
Events Programming
Lp trnh LabVIEW
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
USB 6008
Lp trnh LabVIEW
THANK YOU!
Lp trnh LabVIEW