Professional Documents
Culture Documents
org
Môc lôc
I. Nh÷ng kh¸i niÖm c¬ b¶n: ................................................................... 2
1. Giíi thiÖu chung: ........................................................................... 2
2. ThiÕt bÞ ¶o (VI- Vitual Instrument): .............................................. 2
3. Front Panel:.................................................................................... 2
4. Block Diagram: .............................................................................. 3
5. Icon & Connector........................................................................... 5
II. Kü thuËt lËp tr×nh trªn LabView: ................................................. 5
1. C¸c c«ng cô hç trî lËp tr×nh:.......................................................... 5
2. D÷ liÖu:........................................................................................... 9
3. C¸c cÊu tróc ®iÒu khiÓn luång ch¬ng tr×nh: ............................... 16
4. SubVI vµ c¸ch x©y dùng SubVI: .................................................. 20
5. X©y dùng øng dông:..................................................................... 24
6. Gì rèi vµ söa ch¬ng tr×nh x©y dùng trªn LabView:................... 26
III. Kü thuËt lËp tr×nh n©ng cao trong LabView: ............................. 27
1. Liªn kÕt thiÕt bÞ ¶o víi thiÕt bÞ phÇn cøng: .................................. 27
2. Xö lý tÝn hiÖu vµ läc nhiÔu:.......................................................... 39
thùc tÕ vÝ dô c¸c nót bÊm, nót bËt, c¸c ®å thÞ vµ c¸c bé ®iÒu khiÓn. Tõ
Front Panel ngêi dïng ch¹y vµ quan s¸t kÕt qu¶ cã thÓ dïng chuét, bµn
phÝm ®Ó ®a d÷ liÖu vµo sau ®ã cho ch¬ng tr×nh ch¹y vµ quan s¸t.
Front Panel thêng gåm c¸c bé ®iÒu khiÓn (Control) vµ c¸c bé chØ thÞ
(Indicator):
- Control lµ c¸c ®èi tîng ®îc ®Æt trªn Front Panel ®Ó cung cÊp
d÷ liÖu cho ch¬ng tr×nh. Nã t¬ng tù nh ®Çu vµo cung cÊp d÷
liÖu.
- Indicator lµ ®èi tîng ®îc ®Æt trªn Front Panel dïng ®Ó hiÖn thÞ
kÕt qu¶, nã t¬ng tù nh bé phËn ®Çu ra cña ch¬ng tr×nh.
Front Panel cña 1 VI ®îc minh ho¹ nh h×nh I.1:
H×nh I.1
4. Block Diagram:
Block Diagram cña 1 VI lµ mét s¬ ®å ®îc x©y dùng trªn m«i trêng
Labview, nã cã thÓ gåm nhiÒu ®èi tîng vµ c¸c hµm kh¸c nhau ®Ó t¹o
c¸c c©u lÖnh ®Ó ch¬ng tr×nh thùc hiÖn. Block Diagram lµ mét m·
nguån ®å ho¹ cña 1 VI. C¸c ®èi tîng trªn Front Panel ®îc thÓ hiÖn
b»ng c¸c thiÕt bÞ ®Çu cuèi trªn Block Diagram, kh«ng thÓ lo¹i bá c¸c
thiÕt bÞ ®Çu cuèi trªn Block Diagram. C¸c thiÕt bÞ ®Çu cuèi chØ mÊt ®i
sau khi lo¹i bá ®èi tîng t¬ng øng trªn Front panel
Block Diagram cña 1 VI ®¬n gi¶n ®îc thÓ hiÖn ë h×nh I.2:
H×nh I.2
CÊu tróc cña mét Block Diagram gåm c¸c thiÕt bÞ ®©u cuèi
(Terminal), Nót (Node) vµ c¸c d©y nèi (wire)
- Terminal: lµ c¸c cæng mµ d÷ liÖu truyÒn qua gi÷a Block Diagram
vµ Front panel, vµ gi÷a c¸c Node trong Block Diagram. C¸c Terminal
n»m ë díi d¹ng c¸c Icon cña c¸c Function
- Nodes: lµ c¸c phÇn tö thùc hiÖn ch¬ng tr×nh, chóng t¬ng tù nh
c¸c mÖnh ®Ò, to¸n tö, hµm vµ c¸c ch¬ng tr×nh con trong c¸c ng«n ng÷
lËp tr×nh th«ng thêng
+ Icon (biÓu tîng) : lµ biÓu tîng cña VI, ®îc sö dông khi tõ 1
VI muèn sö dông chøc n¨ng cña 1 VI khac. Khi ®ã VI ®ã ®îc gäi lµ
SubVI, nã t¬ng ®¬ng nh mét ch¬ng tr×nh con trong c¸c ng«n ng÷
kh¸c
+ Connector (bé nèi) :lµ mét phÇn tö cña Terminal dïng ®Ó nèi
c¸c ®Çu vµo vµ ®Çu ra cña c¸c VI víi nhau khi sö dông
Mçi VI cã 1 Icon mÆc ®Þnh hiÓn thÞ trong b¶ng Icon ë gãc trªn bªn
ph¶i cöa sæ Front Panel vµ Block Diagram nh h×nh I.3
H×nh I.3
Ta cã thÓ thay ®æi ®îc Icon vµ connector
Khi c¸c Vi ®îc ph©n cÊp vµ modul ho¸ th× ta cã thÓ dïng chóng nh
c¸c ch¬ng tr×nh con. Do ®ã ®Ó x©y dùng 1 VI ta cã thÓ chia thµnh
nhiÒu VI thùc hiÖn c¸c chøc n¨ng ®¬n gi¶n vµ cuèi cïng kÕt hîp
chóng l¹i víi nhau.
II. Kü thuËt lËp tr×nh trªn LabView:
1. C¸c c«ng cô hç trî lËp tr×nh:
ViÖc lËp tr×nh trªn LabView cÇn sö dông c¸c b¶ng: Tools Palette,
Controls Panelette, Functions Palette, c¸c b¶ng ®ã cung cÊp c¸c chøc n¨ng
®Ó ngêi sö dông cã thÓ t¹o vµ thay ®æi trªn Front Panel vµ Block Diagram
free4vn.org -ebooks –software –film –game direct link 5
dientuvietnam.net
lythanhthuan@free4vn.org
a. Tool Panel:
Tool Panel xuÊt hiÖn trªn c¶ Front Panel vµ Block Diagram. B¶ng nµy
cho phÐp ngêi sö dông cã thÓ x¸c lËp c¸c chÕ ®é lµm viÖc ®Æc biÖt cña con
trá chuét. Khi lùa chän mét c«ng cô, biÓu tîng cña con trá sÏ ®îc thay ®æi
theo biÓu tîng cña c«ng cô ®ã
NÕu thiÕt lËp chÕ ®é tù ®éng lùa chän c«ng cô vµ ngêi sö dông di
chuyÓn con trá qua c¸c ®èi tîng trªn Front Panel hoÆc Block Diagram,
Labview sÏ tù ®éng lùa chän c«ng cô phï hîp trªn b¶ng Tools Palette
§Ó truy cËp vµo Tools palette ta chän Menu: Window◊Show Tools
palette. C¸c c«ng cô trong Tools palette gåm cã:
Operating tool.
Positioning tool.
Labeling tool.
Wiring tool.
Object Pop-up Menu tool.
H×nh I.4: Tools Palette
Scroll tool.
Breakpoint tool.
Probe tool.
Color copy tool.
Color tool.
B¶ng ®iÒu khiÓn chØ duy nhÊt xuÊt hiÖn trªn Front panel. B¶ng ®iÒu
khiÓn chøa c¸c bé ®iÒu khiÓn(control) vµ c¸c bé hiÓn thÞ (Indicator). B¶ng
®iÒu khiÓn ®îc minh ho¹ nh I.5:
B¶ng ®iÒu khiÓn ®îc sö dông ®Ó ngêi sö thiÕt kÕ cÊu tróc mÆt hiÓn
thÞ gåm c¸c thiÕt bÞ vd: c¸c c«ng t¾c, c¸c lo¹i ®Ìn, c¸c lo¹i mµn h×nh hiÓn
thÞ…Víi b¶ng ®iÒu khiÓn nµy, ngêi sö dung cã thÓ chän c¸c bé thiÕt bÞ
chuÈn do h·ng s¶n xuÊt cung cÊp vd c«ng t¾c nh÷ng còng cã thÓ chän c¸c
thiÕt bÞ do ngêi sö dông tù x©y dùng.
B¶ng ®iÒu khiÓn dung ®Ó cung cÊp d÷ liÖu ®Çu vµo vµ hiÓn thÞ kÕt qu¶
®Çu ra
• Mét sè bé ®iÒu khiÓn vµ hiÓn thÞ trªn
controls palette:
Numeric Controls/Indicators:
Bé c«ng cô nµy ®îc sö dông ®Ó hiÓn thÞ
vµ ®iÒu khiÓn d÷ liÖu d¹ng sè trong ch¬ng
tr×nh H×nh I.6
Boolean Controls/Indicators:
Bé c«ng cô nµy cung cÊp 2 gi¸ trÞ lµ True vµ False. Khi thùc hiÖn
ch¬ng tr×nh ngêi sö dông sö dông chuét ®Ó
®iÒu khiÓn gi¸ trÞ cña thiÕt bÞ. ViÖc thay ®æi
gi¸ trÞ cña c¸c thiÕt bÞ chØ cã t¸c dông khi c¸c
thiÕt bÞ ®ã ®îc x¸c lËp ë chÕ ®é lµ c¸c
Control. Cßn nÕu ë chÕ ®é lµ c¸c Indicator th×
gi¸ trÞ kh«ng thay ®æi v× chóng chØ lµ c¸c thiÕt bÞ hiÓn thÞ
H×nh I.7
String Controls/Indicators:
C¸c ®iÒu khiÓn nµy dïng ®Ó nhËp vµ
hiÓn thÞ c¸c ký tù, nã còng cã thÓ ®îc x¸c
lËp ë chÕ ®é ®Çu vµo hay ®Çu ra
H×nh I.8
c. Functions Palette:
B¶ng Funtions palette chØ xuÊt hiÖn trªn Block Diagram. B¶ng nµy
chøa c¸c Vis vµ c¸c hµm mµ ngêi sö dông x©y dông ®Ó x©y dùng nªn c¸c
khèi lu ®å. B¶ng Function palette ®îc minh häc nh trong h×nh I.9:
qua c¸c biÓu tîng. Khi muèn lùa chän thùc hiÖn mét hµm nµo ®ã th× ngêi
sö dông chän biÓu tîng thÓ hiÖn cho hµm ®ã vµ cã thÓ kÐo th¶ ë bÊt kú vÞ trÝ
nµo trªn Block Diagram sau ®ã x¸c ®Þnh nh÷ng ®Çu vµo vµ ®Çu ra cÇn thiÕt.
2. D÷ liÖu:
Ng«n ng÷ lËp tr×nh LabView hç trî cho tÊt c¶ c¸c d¹ng d÷ liÖu. C¸c
kiÓu d÷ liÖu d¹ng Boolean, bytes, string, array, file, text, cluster vµ d¹ng sè
cã thÓ ®îc chuyÓn ®æi mét c¸ch dÔ dµng sang c¸c d¹ng cÊu tróc. Sau ®©y
chóng ta xem xÐt mét vµi d¹ng d÷ liÖu:
a. Variables (biÕn):
Trong qua tr×nh lËp tr×nh cÇn thiÕt ph¶i xö dông tíi c¸c biÕn. Th«ng
qua c¸c biÕn, ngêi lËp tr×nh cã thÓ thùc hiÖn ®îc viÖc xö lý vµ thay ®æi
d÷ liÖu mét c¸ch thuËn lîi. Trong labview, c¸c biÕn ®îc sö dông díi 2
d¹ng lµ biÕn toµn côc (global variables) vµ c¸c biÕn côc bé (local
variables).
- Global varialbles (biÕn toµn côc):BiÕn toµn côc ®îc sö dông ®Ó
thùc hiÖn c«ng viÖc truyÒn vµ lu tr÷ d÷ liÖu gi÷a mét vµi Vis.
BiÕn toµn côc ®îc coi lµ mét ®èi tîng trong Labview. Khi ta
t¹o ra mét biÕn toµn côc Labview sÏ t¹o ra mét “VI toµn côc”
®Æc biÖt. §Ó t¹o ra c¸c biÕn toµn côc, ta lùa chän chóng trªn
menu “Structs and Constants function” sau ®ã ®Æt chóng lªn
Diagram. TiÕp tôc cÇn x¸c ®Þnh cho chóng kiÓu d÷ liÖu th«ng
qua c¸c kiÓu d÷ liÖu ®· sö dông th«ng qua c¸c Controls hoÆc
c¸c Indicators. Chóng ta cÇn chó ý lµ ®èi víi mçi biÕn toµn côc
chóng ta cÇn ph¶i t¹o ra 1 VI víi mét tªn riªng duy nhÊt.§èi víi
c¸c biÕn toµn côc chóng ta còng cÇn x¸c ®Þnh chÕ ®é chØ cho
phÐp ghi hoÆc chØ cho phÐp ®äc. §èi víi viÖc truy xuÊt vµo c¸c
biÕn toµn côc sÏ ®îc thùc hiÖn rÊt nhanh chãng ®èi víi c¸c
free4vn.org -ebooks –software –film –game direct link 9
dientuvietnam.net
lythanhthuan@free4vn.org
kiÓu d÷ liÖu ®¬n gi¶n vd: numerics vµ Boolean. Tuy nhiªn, khi
ta sö dông biÕn toµn côc ®Ó lu tr÷ vµ xö lý c¸c d÷ liÖu díi
d¹ng m¶ng (arrays), Clusters hay c¸c s©u(string) lín th× thêi
gian còng nh bé nhí cÇn thiÕt ®Ó xö lý chóng l¹i sÏ t¬ng ®èi
lín. V× nã ®ßi hái mét vµi dÞch vô qu¶n lý bé nhí mçi khi c¸c
biÕn ®ã ®îc gäi tíi. Khi sö dông c¸c biÕn toµn côc còng nh
c¸c biÕn côc bé th× mét vÊn ®Ò cã thÓ gÆp ph¶i lµ sù “tranh chÊp
d÷ liÖu”. BiÕn sö dông trong Labview kh«ng hoµn toµn gièng
nh trong c¸c ng«n ng÷ lËp tr×nh dßng lÖnh. ViÖc “tranh ch©p
d÷ liÖu ” x¶y ra khi hai hoÆc nhiÒu h¬n c¸c ®o¹n m· lÖnh cïng
®îc thùc hiÖn song song cïng thay ®æi gi¸ trÞ cña mét biÕn.
§Çu ra cña VI phô thuéc vµo thø tù ®îc thùc thi cña c¸c dßng
lÖnh. Bëi v× nÕu kh«ng cã sù phô thuéc d÷ liÖu gi÷a c¸c biÓu
thøc kh¸c nhau th× sÏ kh«ng x¸c ®Þnh ®îc c¸i nµo ch¹y tríc.
NÕu sö dông c¸c biÕn toµn côc trong Vis mµ ®îc thùc hiÖn
song song, th× ta cã thÓ sö dông mét biÕn toµn côc thªm vµo ®Ó
x¸c ®Þnh khi nµo d÷ liÖu ®îc phÐp thay ®æi vµ ®îc ®äc gi¸ trÞ
míi
- Local variable: Cho phÐp ngêi sö dông ®äc hoÆc viÕt th«ng tin
lªn 1 trong nh÷ng thiÕt bÞ ®iÒu khiÓn hoÆc thiÕt bÞ hiÓn thÞ trªn
Front Panel. §Ó t¹o mét biÕn côc bé, chän Local Variable tõ
b¶ng Structs & Constants. Khi sö dông biÕn côc bé cÇn chó ý
mét sè th«ng tin sau:
¬ C¸c biÕn côc bé chØ cã t¸c dông duy nhÊt trªn c¸c thiÕt bÞ
®iÒu khiÓn hoÆc thiÕt bÞ hiÓn thÞ mµ cïng ë trªn mét lîc ®å.
Ta kh«ng thÓ sö dông biÕn côc bé ®Ó truy cËp tíi 1 ®iÒu
khiÓn mµ kh«ng cïng trªn mét lîc ®å.
¬ Ta cã thÓ cã rÊt nhiÒu c¸c biÕn côc bé cho mçi thiÕt bÞ ®iÒu
khiÓn hoÆc thiÕt bÞ hiÓn thÞ.Tuy nhiªn ®iÒu ®ã cã thÓ g©y ra
sù phøc t¹p: cho r»ng ®iÒu khiÓn cña b¹n thay ®æi tr¹ng th¸i
mét c¸ch khã hiÓu bëi v× b¹n ngÉu nhiªn lùa chän sai c¸c
phÇn tö trong mét hoÆc nhiÒu biÕn côc bé
¬ Gièng nh biÕn toµn côc, b¹n cã thÓ sö dông biÕn côc bé
kh«ng cã mét “dßng d÷ liÖu” hîp lÖ kh¸c sö dông
b. String:
KiÓu string (chuçi) lµ mét tˬ hîp c¸c ký tù. Ta cã thÓ sö dông chuçi
tham gia tÝnh to¸n xö lý. §Ó lùa chän c¸c « text lu tr÷ d÷ liÖu kiÓu
string ta chän tõ « “String & path” tõ control palette cã h×nh nh sau
(h×nh I.10):
Kh«ng chØ vËy cã thÓ thùc hiÖn viÖc chuyÓn ®æi tõ d¹ng string sang
c¸c d¹ng kh¸c nh d¹ng sè, d¹ng m¶ng (array). Trong labView, ®«i
khi ngêi sö dông cã thÓ cÇn ph¶i t¹o ra hoÆc hiÓn thÞ mét sè ký tù
trong b¶ng m· ASCII mµ kh«ng thÓ hiÓn thÞ ®îc vd: Esc,tab…. §Ó
gi¶i quyÕt vÊn ®Ò ®ã, labview ®· cung cÊp mét sè tõ ®¹i diÖn cho c¸c
tõ ®ã, khi cÇn thÓ hiÖn c¸c ký tù ®o ta chØ cÇn gâ vµo nh÷ng tõ ®¹i diÖn
cho chóng trªn Front Panel. Sau ®©y lµ mét sè tõ thay thÕ (Escape
Code)
Escape code Tõ ®îc thay (Interpreted As)
\00-\FF Gi¸ trÞ d¹ng Hex cña ký tù 8 bÝt
\b Backspace
\f Formfeed
\n Newline
\r Return
\t Tab
\s Space
\\ BackSlash (dÊu chÐo ngîc)
c. Array:
Trong viÖc lËp tr×nh ®«i khi chóng ta cÇn xö lý mét sè c¸c d·y sè
mµ mçi phÇn tö trong ®ã cã thÓ ®îc xö lý nh tõng thµnh phÇn riªng
biÖt, v× vËy mµ ta cÇn tíi m¶ng. C¸c m¶ng ë ®©y cã thÓ lµ m¶ng 1
chiÒu (mét cét hoÆc 1 vÐc t¬), m¶ng 2 chiÒu, m¶ng 3 chiÒu. Labview
hç trî cho ngêi lËp tr×nh cã thÓ t¹o ra c¸c m¶ng cña c¸c mµ trong ®ã
chøa d÷ liÖu kiÓu numberic, string, boolean… vµ rÊt nhiÒu c¸c d¹ng d÷
liÖu kh¸c. C¸c m¶ng thêng ®îc t¹o ra bëi c¸c vßng lÆp. ViÖc sö
dông vßng lÆp la tèt cho c¸c øng dông bëi v× nã x¸c ®Þnh mét vïng bé
nhí x¸c ®Þnh tõ khi nã b¾t ®Çu. NÕu kh«ng dïng c¸c vßng lÆp th× th×
Labview kh«ng cã c¸ch nµo biÕt ®îc khi nµo vßng lÆp l¹i ®îc lÆp
l¹i, viÖc qu¶n lý bé nhí cã thÓ sÏ ®îc gäi l¹i nhiÒu lÇn vµ lµm chËm
viÖc xö lý.
Ngêi sö dông cã thÓ sö dông chøc n¨ng x©y dùng m¶ng. Nã cßn
cho phÐp rµng buéc m¶ng gèc vµo c¸c m¶ng kh¸c
Khëi t¹o m¶ng:
§Ó khëi t¹o mét m¶ng khi ch¬ng tr×nh b¾t ®Çu, ta thùc hiÖn theo
mét sè ph¬ng ph¸p sau:
- NÕu nh tÊt c¶ c¸c gi¸ trÞ lµ nh nhau, th× sö dông mét vßng lÆp
For víi mét h»ng sè bªn trong. §iÓm bÊt lîi lµ: nã ch¾c ch¾n
cÇn mét thêi gian lín ®Ó t¹o m¶ng.
- Sö dông chøc n¨ng khëi t¹o m¶ng víi kÝch cì c¸c c¸c chiÒu ®Çu
vµo ®îc kÕt nèi tíi mét h»ng sè ®îc ®Æt lµ gi¸ trÞ cña c¸c phÇn
tö. Nã t¬ng ®¬ng víi ph¬ng ph¸p tríc nhng thu©n tiªn
h¬n.
- Mét c¸ch t¬ng tù, nÕu nh c¸c gi¸ trÞ cã thÓ ®îc tÝnh to¸n
trong mét sè c¸ch kh«ng phøc t¹p, th× ®Æt c«ng thøc tÝnh to¸n
vµo mét vßng lÆp vµ t¹o ra m¶ng theo c¸ch ®ã.
- T¹o ra trªn Front panel mét ®èi tîng m¶ng vµ kiÓu d÷ liÖu cña
gi¸ trÞ ®îc ®iÒu khiÓn b»ng tay
Mét trêng hîp ®Æc biÖt trong viÖc khëi t¹o m¶ng lµ t¹o ra mét
m¶ng rçng.Nã lµ mét m¶ng mµ c¸c phÇn tö trong m¶ng ®îc ®Æt vÒ
gi¸ trÞ 0, false, s©u rçng… Thêng th× viÖc sö dông mét m¶ng rçng
®Ó sö dông ®Ó khëi t¹o mét bé ghi dÞch mµ sö dông ®Ó lu gi÷ c¸c
gi¸ trÞ trong m¶ng. sau ®©y lµ c¸c c¸ch ®Ó t¹o ra mét m¶ng trèng:
- T¹o trªn front panel mét ®iÒu khiÓn m¶ng. Chän Emty Array,
vµ sau ®ã Make Current value Default tõ menu Control
- T¹o mét vßng lÆp víi sè lÇn lÆp N, vßng lÆp ®îc nèi tíi mét
gi¸ trÞ 0
- Sö dông chøc n¨ng “Initialize Array”.
Bé nhí cña m¶ng ®Ó sö dông vµ thi hµnh:
Khi mét m¶ng ®îc t¹o ra, Labview sÏ sö dông mét kh«ng gian bé
nhí hîp lý nhÊt. Labview ph¶i ph©n chia bé nhí thµnh nh÷ng phÇn kÕ
tiÕp nhau ®Ó lu tr÷ m¶ng. NÕu ngêi sö dông thùc hiÖn c¸c phÐp tÝnh
®¬n gi¶n nh phÐp nh©n mét d·y trong mét m¶ng, th× sÏ kh«ng cÇn
yªu cÇu mét vïng nhí lín.
Mét sè hµm sö dông thao t¸c trªn m¶ng:
ViÖc sö dông c¸c hµm trªn b¶ng Function >> Array ®Ó t¹o vµ ®iÒu
khiÓn c¸c m¶ng
ϖ Array Constant :
Sö dông hµm nµy sÏ t¹o ra mét m¶ng víi c¸c phÇn tö lµ c¸c
h»ng sè. §Ó ®Þnh nghÜa d¹ng d÷ liÖu cña m¶ng h»ng sè ta lùa
chän bÊt kú h»ng sè v« híng nµo tõ b¶ng Function Palette
vµ ®Æt nã vµo bªn trong m¶ng h»ng sè. TÊt c¸c thµnh phÇn
cña m¶ng sÏ cã d¹ng nµy. Sö dông Operating Tool ®Ó nhËp
gi¸ trÞ cho tõng thµnh phÇn cña m¶ng. Ta kh«ng thÓ thay ®æi
®îc gi¸ trÞ cña m¶ng trong khi VI ch¹y.
Hµm nµy cã chøc n¨ng t×m kiÕm sè lín nhÊt vµ sè nhá nhÊt
cña c¸c sè trong m¶ng. hµm nµy thêng tr¶ vÒ kÕt qu¶ ®Ó
hiÓn thÞ.
Gi¸ trÞ lín nhÊt (max value) lµ cïng d¹ng d÷ liÖu nh lµ c¸c
thµnh phÇn trong m¶ng c¸c sè.
ChØ sè lín nhÊt (max index) lµ chØ sè cña phÇn tö lín nhÊt
Gi¸ trÞ nhá nhÊt (min value) lµ cña cïng d¹ng d÷ liÖu nh lµ
c¸c thµnh phÇn trong m¶ng.
chØ sè nhá nhÊt (min index) lµ chØ sè cña gi¸ trÞ nhá nhÊt
Trong bÊt cø ng«n ng÷ lËp tr×nh nµo, ta còng hay thêng gÆp vµ lµm
viÖc víi c¸c phÇn tö ®iÒu khiÓn luång ch¬ng tr×nh, ®ã lµ c¸c cÊu tróc
free4vn.org -ebooks –software –film –game direct link 16
dientuvietnam.net
lythanhthuan@free4vn.org
(Structures). C¸c cÊu tróc ®iÒu khiªn luång ch¬ng tr×nh trong mét VI cã
n¨m cÊu tróc lµ: For Loop, While Loop, Case Structure, Sequence Structure
vµ Fomula Node.
C¸c cÊu tróc ®ã thùc hiÖn tù ®éng khi d÷ liÖu ®Çu vµo cña chóng cã
s½n vµ thùc hiÖn c¸c c«ng viÖc theo ý muèn cho tíi khi hoµn thµnh th× míi
cung cÊp d÷ liÖu tíi c¸c d©y nèi d÷ liÖu ®Çu ra. Tuy nhiªn, mçi cÊu tróc thùc
hiÖn theo c¸c quy t¾c riªng (Sub Diagram) cña nã
SubDiagram lµ tËp hîp cña c¸c Node, Wire vµ Terminal bªn trong
®êng viÒn cña Structure. Mçi cÊu tróc For Loop vµ While Loop cã mét
SubDiagram.
CÊu tróc Case vµ Sequence cã thÓ cã nhiÒu SubDiagram, nhng chØ cã
mét SubDiagram cã thÓ ®îc thùc hiÖn t¹i mét thêi ®iÓm. C¸ch x©y dùng c¸c
SubDiagram còng gièng nh viÖc x©y dùng c¸c Block diagram møc ®Çu.
ViÖc truyÒn d÷ liÖu vµo vµ ra c¸c Structure th«ng qua c¸c Terminal mµ
®îc tù ®éng t¹o ra ë n¬i d©y nèi ®i qua ®êng viÒn cña cÊu tróc, c¸c
Terminal nµy ®îc gäi lµ c¸c ®êng èng (Tunel).
C¸c cÊu tróc ®iÒu khiÓn ch¬ng tr×nh trong LabVIEW n»m ë
Functions◊ Structures Palette.
For Loop.
For Loop lµ mét Loop Count
Numerical Input
cÊu tróc lÆp thùc hiÖn Numerical
Output
s¬ ®å bªn trong nã mét
sè lÇn ®Þnh tríc. §Ó
H×nh I.13: For Loop
truy cËp For Loop ta
chän Menu: Functions◊ Structures◊ For Loop.
BiÓu tîng cña For Loop ®îc minh ho¹ ë h×nh 13:
For Loop cã hai Terminal ®ã lµ:
Count Terminal (Terminal ®Çu vµo): ChØ ra sè lÇn vßng lÆp ph¶i
thùc hiÖn.
Iteration Terminal (Terminal ®Çu ra): Chøa sè lÇn vßng lÆp ®· thùc
hiÖn. Gi¸ trÞ cña i thay ®æi tõ 0 tíi n-1.
While Loop.
While Loop lµ mét cÊu tróc lÆp thùc hiÖn s¬ ®å bªn trong nã cho ®Õn
khi gi¸ trÞ Boolean ®a tíi Conditional Terminal (mét Terminal ®Çu vµo) lµ lµ
trïng víi ®iÒu kiÖn ®îc thiÕt lËp ®Ó thùc hiÖn vßng lÆp . §Ó truy cËp While
Loop ta chän Menu: Functions◊ Structures ◊ While Loop.
Biªu tîng cña While Loop ®îc minh ho¹ ë h×nh I.14.
Iteration Conditional
Terminal Terminal
VI kiÓm tra Conditional Terminal t¹i cuèi mçi vßng lÆp, do ®ã While
Loop lu«n thôc hiÖn Ýt nhÊy mét lÇn. Iteration Terminal lµ mét Terminal ®Çu
ra mµ ®a ra sè lÇn vßng lÆp thùc hiÖn ®îc. ViÖc tÝnh sù lÆp lu«n ®îc b¾t
®Çu tõ 0. V× vËy, nÕu vßng lÆp ch¹y mét lÇn th× Iteration Terminal ®a ra kÕt
qu¶ 0.ViÖc thùc hiÖn vßng lÆp cã thÓ ®îc x¸c ®Þnh th«ng qua Conditional
Terminal. T¹i Conditional Terminal, ta cã thÓ chän c¸c ®iÒu kiÖn:
+ Stop if true.
+ Continue if true.
ViÖc x¸c ®Þnh ®iÒu khiÖn ®Ó thùc hiÖn vßng lÆp t¹i Conditional
Terminal, rÊt quan träng v× nÕu kh«ng x¸c ®Þnh ®óng th× vßng lÆp cã thÓ r¬i
vµo vßng lÆp v« h¹n.
- Case & Sequence Structures.
Case Structure vµ Sequence Structure lµ c¸c cÊu tróc thùc hiÖn mét
SubDiagram bªn trong nã. Case Structure thùc hiÖn SubDiagram dùa trªn
mét gi¸ trÞ ®Çu vµo mµ ®îc bé chän gäi. Sequence Structure thùc hiÖn c¸c
SubDiagram mét c¸ch tuÇn tù theo thø tù mµ chóng xuÊt hiÖn.
C¶ Case Structure vµ Sequence Structure cã thÓ cã nhiÒu SubDiagram,
nhng chØ cã mét SubDiagram ®îc nhin thÊy t¹i mét thêi ®iÓm. T¹i ®êng
viÒn bªn trªn cña mçi cÊu tróc lµ mét cöa sæ hiÓn thÞ SubDiagram mµ gåm cã
s¬ ®å ®Þnh danh (Diagram Identifer) ë gi÷a vµ nót t¨ng (Increment), nót gi¶m
(Decrement) ë hai bªn. Diagram identifier chØ ra SubDiagram hiÖn thêi ®îc
hiÓn thÞ. §èi víi Case Structure th× diagram identifer lµ mét danh s¸ch c¸c
gi¸ trÞ ®Ó lùa chän SubDiagram. §èi víi Sequence Structure th× diagram
identifier lµ khung (Frame) trong Sequence (tõ 0 tíi n-1). Case Structure vµ
Sequence Structure ®îcminh häa ë h×nh I.15.
Increment/Decrement
Buttons
Diagram
Identifier
Khi nhÊn vµo nót t¨ng (bªn ph¶i) hoÆc nót gi¶m (bªn tr¸i) sÏ lµm hiÓn
thÞ SubDiagram kÕ tiÕp hoÆc tríc ®ã t¬ng øng. NhÊn nót t¨ng khi ë
SubDiagram cuèi cïng lµm hiÓn thÞ SubDiagram ®Çu tiªn cßn nhÊn nót gi¶m
khi ë SubDiagram ®Çu tiªn lµm hiÓn thÞ SubDiagram cuèi cïng.
§Ó truy cËp Case Structure vµ Sequence Structure ta chän Menu:
Functions◊ Structures◊ Case
HoÆc Functions◊ Structures◊ Sequence.
-Formula Node.
Formula Node lµ cÊu
tróc dïng ®Ó thùc hiÖn c¸c
d·y c«ng thøc to¸n häc bªn
trong nã. Khi dïng Formula
Node ta cã thÓ vµo c¸c c«ng
thøc trùc tiÕp trong mét H×nh I.16: Formula Node
Block diagram nhê chuét ë chÕ ®é Labeling Tool. §Ó t¹o c¸c ®Çu vµo vµ c¸c
®Çu ra, bÊm vµo ®êng viÒn cña Formula Node vµ chän Add Input (Add
Output), ®¸nh vµo tªn biÕn vµo bªn trong hép. C¸c c«ng thøc ®îc ®¸nh vµo
bªn trong ®êng viÒn cña Formula Node, mçi c«ng thøc tr×nh bµy ph¶i kÕt
thóc b»ng dÊu chÊm phÈy (;). VÝ dô minh häa Formula Node cã d¹ng nh
h×nh I.16.
§Ó truy cËp Formula Node ta chän:
Functions◊ Structures◊Formula Node
C¸c to¸n tö vµ hµm cã thÓ dïng bªn trong Formula Node ®îc liÖt kª
trong cöa sæ Help cña Formula Node.
Khi thiÕt kÕ ch¬ng tr×nh trong LabView, ta thêng chó ý thiÕt kÕ c¸c
VI vµ x¸c ®Þnh ®Çu vµo vµ ®Çu ra cho chóng. Khi ®ã mçi VI thùc hiÖn
mét chøc n¨ng x¸c ®Þnh. Trong viÖc lËp tr×nh, c¸c VI ®ã cã thÓ ®îc
sö dông trong c¸c Block Diagram cña 1 VI kh¸c ë møc ®é cao h¬n.
Khi ®ã VI cao h¬n ®ã ®îc gäi lµ mét SubVI. Nh vËy, mét SubVI ta
cã thÓ coi nh mét ch¬ng tr×nh con trong c¸c ng«n ng÷ lËp tr×nh kh¸c
vd C++…Trong mét ch¬ng tr×nh labview, kh«ng bÞ h¹n chÕ sè SubVI
vµ mçi SubVI kh«ng bÞ h¹n chÕ viÖc gäi ®Õn c¸c SubVI. Víi tiÖn Ých
nµy, mét ch¬ng tr×nh trªn Labview sÏ trë nªn dÔ hiÓu, gän gµng vµ dÔ
gì rèi h¬n
Cã hai c¸ch ®¬n gi¶n nhÊt ®Ó x©y dùng mét SubVI: t¹o mét SubVI tõ
mét VI vµ t¹o mét SubVI tõ mét phÇn cña VI:
C¸c SubVI ®îc sö dông th«ng qua Icon vµ Connector cña nã. Icon
cña mét VI lµ mét biÓu tîng ®å ho¹. Connector cña mét VI g¸n c¸c
Control vµ Indicator cho c¸c Terminal ®Çu vµo vµ ®Çu ra. Muèn gäi
mét VI tõ Block Diagram cña mét VI kh¸c, th× tríc tiªn ta ph¶i t¹o ra
Icon vµ Connector cho VI ®ã.
§Ó t¹o Icon, ta bÊm ®óp chuét tr¸i vµo biÓu tîng Icon ë gãc bªn
tr¸i phÝa trªn cña Front Panel hoÆc bÊm chuét ph¶i vµo biÓu tîng
Icon vµ chän Edit Icon … Sau khi chän Edit Icon … ta dông c¸c c«ng
cô ë bªn tr¸i cöa sæ ®Ó t¹o ra kiÓu Icon trong vïng so¹n th¶o ®iÓm lín.
H×nh ¶nh mÆc ®Þnh cña Icon xuÊt hiÖn trong vïng so¹n th¶o. Phô
thuéc vµo d¹ng mµn h×nh ®ang sö dông, ta cã thÓ thiÕt kÕ kiÓu Icon ë
d¹ng ®¬n s¾c, 16 mµu hoÆc 256 mµu. Mµu mÆc ®Þnh cña Icon lµ §en –
Tr¾ng (Black-White), nhng cã thÓ bÊm vµo môc chän mµu ®Ó chuyÓn
sang 16 mµu hoÆc 256 mµu. Ta cã thÓ copy mét Icon mµu thµnh mét
Icon ®en – tr¾ng, vµ ngîc l¹i.
H×nh I.17: Icon mÆc ®Þnh vµ Icon sau khi ®îc t¹o.
X¸c ®Þnh kiÓu Connector Terminal: SubVI nhËn d÷ liÖu tíi vµ göi
d÷ liÖu th«ng qua c¸c Terminal ë trong « vu«ng Connector cña nã. Ta
cã thÓ x¸c ®Þnh c¸c mèi liªn hÖ b»ng c¸ch chän sè Terminal cÇn thiÕt
cho VI vµ g¸n mét Front Panel Control hoÆc Indicator cho mçi
Terminal. NÕu Connector cña VI cha xuÊt hiÖn ë gãc tr¸i cña Front
Panel th× ta chän Show Connector tõ menu cña Icon. Connector thay
thÕ Icon ë gãc bªn ph¶i phÝa trªn cña Front Panel. KiÓu Terminal ban
®Çu ®îc chän cho VI cã sè c¸c Terminal bªn ph¶i cña Connector
b»ng sè Indicator trªn Front Panel vµ sè Terminal bªn tr¸i Connector
b»ng sè Control trªn Front Panel. NÕu ®iÒu nµy kh«ng thÓ cã ®îc th×
phÇn mÒm sÏ chän kiÓu Terminal phï hîp gÇn nhÊt. Mçi h×nh ch÷
nhËt trong Connector sÏ t¬ng øng víi mét ®Çu vµo hoÆc ®Çu ra tõ VI.
Ta cã thÓ chän mét kiÓu Terminal kh¸c trong menu Pattern. Ta cã thÓ
thªm hoÆc lo¹i bá bít Terminal b»ng c¸ch chän Add Terminal hoÆc
chän Remove Terminal.
Sau khi ®· chän ®îc Connector Terminal Pattern ta ph¶i g¸n c¸c
Front Panel Control vµ Indicator cho c¸c Terminal theo c¸c bíc sau:
BÊm vµo mét Terminal cña Connector, sau ®ã bÊm vµo mét
Front Panel Control hoÆc Front Panel Indicator muèn g¸n cho Terminal ®·
chän. Mét khung b¶o xung quanh Front Panel cña Control hoÆc Indicator
®îc chän xuÊt hiÖn vµ nhÊp nh¸y.
BÊm vµo mét vïng më cñ Front Panel vµ bÊm chuét, khung
nhÊp nh¸y biÕn mÊt. Terminal vµ Front Panel Control hoÆc Indicator ®· chän
®îc g¾n víi nhau.
§Ó biÕn ®æi mét phÇn cña VI thµnh mét SubVI ®îc gäi tõ VI kh¸c,
chän mét phÇn trong Block Diagram cña VI, sau ®ã chän Edit\Create
SubVI. PhÇn ®ã sÏ tù ®éng thµnh mét SubVI. C¸c Control vµ Indicator
®îc tù ®éng khai b¸o cho SubVI míi. SubVI míi tù ®éng nèi d©y víi
c¸c ®Çu d©y hiÖn cã vµ mét Icon cña SubVI sÏ thay thÕ phÇn ®îc
chän trong Block Diagram cña VI gèc. §èi víi SubVI nµy ta cã thÓ
®iÒu chØnh ®îc Icon & connector t¬ng tù nh trªn
9. Dïng chuét ë chÕ ®é Wring Tool nèi tÊt c¶ c¸c ®èi tîng nh h×nh
trªn.
10. Chän File◊Save vµ lu gi÷ VI víi tªn Temp & Volume.vi
11. Tõ Font panel ch¹y VI b»ng c¸ch nhÊn vµo nót Run trªn thanh
c«ng cô hoÆc Ên Ctrl+R.
12. §ãng VI b»ng c¸ch chän File◊ Close.
X©y dùng Icon cña VI.
13. Tõ Front panel cña Temp &
Volume.vi, bÊm chuét ph¶i vµo Icon panel
ë gãc trªn bªn ph¶i vµ chän Edit Icon … ®Ó
vµo Icon Editor, hoÆc cã thÓ bÊm ®óp chuét H×nh 1.20: Edit Icon cña VI
tr¸i vµo Icon panel ®Ó lµm xuÊt hiÖn Icon Editor.
14. Xo¸ Icon mÆc ®Þnh cña VI. Dïng c¸c c«ng cô ë bªn tr¸i cña Icon
Editor ®Ó vÏ Icon míi cho VI gièng nh h×nh.
15. Sau khi x©y dùng xong Icon míi cho VI, bÊm nót OK ®Ó ®ãng
Icon Editor, Icon míi sÏ xuÊt hiÖn thay thÕ cho Icon mÆc ®Þnh.
6. Gì rèi vµ söa ch¬ng tr×nh x©y dùng trªn LabView:
Khi x©y dùng ch¬ng tr×nh trªn LabView, ta cã thÓ tiÕn hµnh c¸c thao
t¸c söa ch÷a, thay ®æi mét c¸ch dÔ dµng b»ng c¸ch thay ®æi, dÞch chuyÓn,
lo¹i bá c¸c ®èi tîng mét c¸ch dÔ dµng trªn Front Panel vµ Block Diagram (
chó ý c¸c bé control vµ indicator chØ cã thÓ xãa ®îc trªn Front panel).
Mét ch¬ng tr×nh kh«ng thÓ ch¹y ®îc còng nh kh«ng thÓ biªn dÞch
®îc khi ch¬ng tr×nh ®ã cßn lçi. Khi ch¬ng tr×nh cã lçi, nót Run sÏ
xuÊt hiÖn nÐt gÉy khi VI ®ang ®îc so¹n th¶o vµ VI vÉn cßn lçi.
Labview cung cÊp mét sè c«ng cô ®Ó theo dâi lçi ph¸t sinh trong qu¸
tr×nh lËp tr×nh. NÕu sau khi so¹n th¶o xong mµ ch¬ng tr×nh vÉn kh«ng
free4vn.org -ebooks –software –film –game direct link 26
dientuvietnam.net
lythanhthuan@free4vn.org
ch¹y ®îc th× më hép Error List ( Window\ Show Error List) ®Ó t×m lçi
vµ x¸c ®Þnh vÞ trÝ cña lçi. NÕu nh khi ch¬ng tr×nh ®· ch¹y ®îc nhng
kÕt qu¶ kh«ng nh ý muèn, ta cã thÓ sö dông c«ng cô theo dâi qua tr×nh
thùc hiÖn ch¬ng tr×nh, kÕt qu¶ sau mçi bíc sÏ ®îc hiÖn thÞ tõ ®ã ta
cã thÓ x¸c ®Þnh ®îc thuËt to¸n cña ta cã ®óng hay kh«ng. §Ó chän
chøc n¨ng nµy sau khi cho ch¬ng tr×nh ch¹y, ta bÊm vµo nót trªn
thanh c«ng cô cña Block Diagram. Chøc n¨ng ®îc minh häa trong h×nh
H×nh I.21
C¸c DAQ ®îc chia thµnh c¸c møc kh¸c nhau tuú theo møc ®é t¸c
®éng cña chóng. C¸c DAQ ®îc chia thµnh 4 møc:
H×nh I.23: Th viÖn Advanced H×nh I.24: Th viÖn Instrument I/O
• Easy VIs
• Intermediate VIs
• Utility VIs
• Advanced VIs
- Ngoµi ra, LabVIEW cßn cã th viÖn cho c¸c hÖ thèng Card chuyªn
dông cña h·ng NI.
§Ó ®a d÷ liÖu vµo/ra c¸c cæng song song, nèi tiÕp cña m¸y tÝnh ta cã
thÓ sö dông c¸c VIs vµo ra cña LabVIEW.
3.2.2 CÊu tróc c¬ b¶n cña DAQ
ThiÕt bÞ ¶o ®îc xem nh lµ mét c«ng cô liªn kÕt gi÷a thiÕt bÞ phÇn
cøng vµ phÇn mÒm cña thiÕt bÞ ®o lêng, ®îc t¹o ra bëi ngêi sö dông víi
c¸c tiªu chuÈn cña m¸y tÝnh. H·ng National Instruments ®· ph¸t triÓn phÇn
cøng vµ phÇn mÒm ®iÒu khiÓn ®Ó thu nhËn d÷ liÖu (DAQ), ph©n tÝch, biÓu
diÔn vµ lu gi÷ d÷ liÖu ë c¸c d¹ng kh¸c nhau. PhÇn mÒm ®iÒu khiÓn lµ mét
ch¬ng tr×nh nèi ghÐp gi÷a thiÕt bÞ phÇn cøng vµ c¸c chøc n¨ng më réng cña
c¸c thiÕt bÞ c¬ b¶n. PhÇn mÒm øng dông cã thÓ lµ LabVIEW,
LabWindows/CVI, ComponentWorks vµ c¸c c«ng cô ®o lêng c¬ b¶n, më
réng ®Ó hiÓn thÞ vµ ph©n tÝch c¸c kÕt qu¶ cña thiÕt bÞ ¶o.
ThiÕt bÞ ¶o ®îc sö dông ®Ó t¹o ra hÖ thèng theo yªu cÇu cña kiÓm tra,
®o lêng vµ kü thuËt tù ®éng ho¸, phï hîp víi phÇn cøng nèi ghÐp vµ phÇn
mÒm thµnh phÇn. NÕu hÖ thèng thay ®æi, ta cã thÓ thay ®æi thiÕt bÞ ¶o mµ
kh«ng cÇn ph¶i thay ®æi phÇn mÒm vµ phÇn cøng.
* DAQ (data acquisition ).
NhiÖm vô c¬ b¶n cña tÊt c¶ c¸c hÖ thèng ®o lêng lµ ®o vµ t¹o ra c¸c
tÝn hiÖu vËt lý thùc tÕ. §iÓm kh¸c biÖt lín nhÊt cña c¸c thiÕt bÞ lµ ph¬ng
thøc truyÒn gi÷a thiÕt bÞ ®o lêng vµ m¸y tÝnh. ThiÕt bÞ DAQ ®a n¨ng lµ thiÕt
bÞ kÕt nèi tíi m¸y tÝnh vµ nã cho phÐp truy xuÊt tÝn hiÖu sè. ThiÕt bÞ DAQ
cho phÐp liªn kÕt trùc tiÕp víi bus cña m¸y tÝnh th«ng qua khe c¾m më réng.
Mét vµi thiÕt bÞ DAQ ë bªn ngoµi cho phÐp liªn kÕt víi m¸y tÝnh th«ng qua
cæng nèi tiÕp, IEEE 488 (GPIB), hoÆc cæng ethernet. ThiÕt bÞ DAQ cho phÐp
biÕn ®æi tÝn hiÖu vµo thµnh tÝn hiÖu sè vµ göi chóng tíi m¸y tÝnh ( tíi phÇn
mÒm bªn trong m¸y tÝnh ). PhÇn mÒm øng dông sö dông c¸c d÷ liÖu ®ã ®Ó ®o
lêng, ®iÒu khiÓn vµ hiÓn thÞ d÷ liÖu bªn trong m¸y tÝnh, ®ång thêi göi d÷
liÖu ®ã trë l¹i thiÕt bÞ ®o lêng. Ph¬ng ph¸p nµy cã tÝnh mÒm dÎo cao v× cã
thÓ sö dông mét thiÕt bÞ phÇn cøng cho nhiÒu d¹ng kiÓm tra vµ cã thÓ ph¸t
triÓn thªm c¸c øng dông kh¸c cho c¸c d¹ng kiÓm tra. ThiÕt bÞ DAQ ®a n¨ng
rÊt thÝch øng sö dông ®Ó sè ho¸ d÷ liÖu cña thiÕt bÞ ®o lêng.
Tuy nhiªn, mét sè thiÕt bÞ ®o lêng n»m ngoµi m¸y tÝnh kh«ng thÓ tån
t¹i ®éc lËp, mµ chóng cÇn ®îc ®iÒu khiÓn vµ gi¸m s¸t th«ng qua viÖc liªn
free4vn.org -ebooks –software –film –game direct link 29
dientuvietnam.net
lythanhthuan@free4vn.org
kÕt víi m¸y tÝnh. §èi víi mçi bé c«ng cô ®o lêng cô thÓ sÏ cã nh÷ng giao
thøc cô thÓ víi m¸y tÝnh tuú theo viÖc chóng liªn kÕt víi m¸y tÝnh th«ng qua
Ethernet, Serial,GPIB hoÆc VXI.
Trªn h×nh I.25, tr×nh bµy hai d¹ng lùa chän cña thiÕt bÞ DAQ. Trong
lùa chän A, hÖ thèng thiÕt bÞ DAQ n»m bªn trong m¸y tÝnh. Trong lùa chän
B, thiÕt bÞ DAQ n»m ë bªn ngoµi m¸y tÝnh. Víi b¶ng m¹ch më réng n»m ë
bªn ngoµi ta cã thÓ x©y dùng hÖ thèng DAQ liªn kÕt víi m¸y tÝnh mµ kh«ng
cÇn ®Õn khe c¨m më réng, vÝ dô nh m¸y tÝnh s¸ch tay. Khi nµy, m¸y tÝnh vµ
modul DAQ giao tiÕp víi nhau th«ng qua nhiÒu lo¹i kªnh kh¸c nhau nh :
Cæng song song, cæng nèi tiÕp, Ethernet. §©y lµ hÖ thèng thùc hiÖn thu nhËn
d÷ liÖu tõ xa vµ ®iÒu khiÓn øng dông.
LabVIEW, phÇn mÒm ®iÒu khiÓn vµ phÇn cøng ®o lêng. LabVIEW VIs ®a
LabVIEW VIs
H×nh I.26: Mèi quan hÖ gi÷a LabVIEW, phÇn mÒm ®iÒu khiÓn
vµ phÇn cøng ®o lêng
tíi phÇn mÒm ®iÒu khiÓn ®Ó kÕt nèi víi phÇn cøng ®o lêng.
* CÊu tróc c¬ b¶n cña DAQ.
Ngµy nµy, c¸c nhµ khoa häc vµ c¸c kü s sö dông m¸y tÝnh PC víi
PCI, PXI/CompactPCI, PCMCIA, USB, IEEE 1394, ISA, cæng nèi tiÕp, cæng
song song ®Ó thu nhËn d÷ liÖu trong phßng thÝ nghiÖm,kü thuËt tù ®éng ho¸,
thö nghiÖm vµ ®o lêng. NhiÒu øng dông sö dông thiÕt bÞ thu nhËn d÷ liÖu
vµ chuyÓn chóng tíi bé nhí m¸y tÝnh. Møc ®é chÝnh x¸c cña kÕt qu¶ tõ hÖ
thèng thu nhËn d÷ liÖu tíi m¸y tÝnh phô thuéc vµo mçi phÇn tö trong hÖ
thèng (H×nh I.27).
nh lµ bo m¹ch DSP (digital signal processing). Tuy nhiªn, víi nh÷ng øng
dông chØ cÇn thùc hiÖn viÖc ®äc d÷ liÖu ra trong 1 hoÆc 2 gi©y th× nh÷ng m¸y
tÝnh cÊp thÊp còng cã thÓ ®¸p øng.
+ Bé chuyÓn ®æi vµ ®iÒu hoµ ®êng truyÒn tÝn hiÖu.
Bé chuyÓn ®æi cã kh¶ n¨ng chuyÓn ®æi hiÖn tîng vËt lý thµnh tÝn
hiÖu ®iÖn ®a ®Õn DAQ cña hÖ thèng ®o lêng. Trong mét sè trêng hîp, tÝn
hiÖu ®iÖn nhËn ®îc t¬ng øng víi tÝn hiÖu vËt lý cña thiÕt bÞ, tÝn hiÖu ®iÖn
nhËn ®îc tõ bé chuyÓn ®æi chÝnh lµ tham sè ®¸nh gi¸ d¶i th«ng tin ®Çu vµo
cña thiÕt bÞ DAQ.
§iÒu hoµ ®êng truyÒn tÝn hiÖu gióp khuÕch ®¹i tÝn hiÖu møc thÊp,
t¸ch vµ läc tÝn hiÖu ®Ó cã kÕt qu¶ ®o chÝnh x¸c. Ngoµi ra, mét sè bé chuyÓn
®æi sö dông ®iÖn ¸p ®Çu vµo lµm tÝn hiÖu kÝch ®Ó t¹o ra ®iÖn ¸p trªn ®Çu ra.
H×nh I.28 m« t¶ hÖ thèng DAQ víi bé ®iÒu hoµ ®êng truyÒn tÝn hiÖu
SCXI (Signal Conditioning eXtensions for Instrumentation ) cña h·ng NI.
H×nh I.28 m« t¶ hÖ thèng DAQ víi bé ®iÒu hoµ ®êng truyÒn tÝn hiÖu SCXI.
§iÒu hoµ ®êng truyÒn tÝn hiÖu ®îc sö dông mét c¸ch ®a d¹ng trong
Trong thùc tÕ, tÝn hiÖu ®o lêng chÞu ¶nh hëng cña m«i trêng xung
quanh lµm thay ®æi kÕt qu¶ ®o lêng. Do ®ã, modul ®iÒu hoµ ®êng truyÒn
tÝn hiÖu lµ kh«ng thÓ thiÕu trong hÖ thèng DAQ.
+ PhÇn cøng DAQ.
- §Çu vµo analog:
§Æc ®iÓm kü thuËt cña ®Çu vµo analog trªn ®a sè s¶n phÇm DAQ cho
biÕt sè cña kªnh, tèc ®é lÊy mÉu, møc lîng tö ho¸ vµ kho¶ng ®Çu ra.
+ Sè cña kªnh: Sè cña kªnh ®Çu vµo analog lµ ®Þnh nghÜa cña c¶ ®Çu
vµo ®¬n vµ ®Çu vµo vi sai dµnh cho thiÕt bÞ cã c¶ hai d¹ng ®Çu vµo ®ã. C¸c
®Çu vµo ®¬n cã cïng tham chiÕu. Nh÷ng ®Çu vµo ®ã ®îc ®Æc trng khi tÝn
hiÖu ®Çu vµo ë møc thÊp ( lín nhÊt lµ 1V), th× sím pha gi÷a tÝn hiÖu nguån
víi ®Çu vµo analog cña phÇn cøng lµ rÊt ng¾n ( nhá nhÊt b»ng 15 fut) vµ tÊt
c¶ c¸c ®Çu vµo sö dông chung mét tham chiÕu. NÕu tÝn hiÖu kh«ng phï hîp
víi c¸c tiªu chuÈn th× kh«ng thÓ sö dông ®Çu vµo vi sai. Víi ®Çu vµo vi sai,
mçi ®Çu vµo c¨n cø mét tham chiÕu riªng, ®iÒu nµy lµm gi¶m nhiÔu bëi v×
nh÷ng kiÓu nhiÔu phæ biÕn bÞ lo¹i bëi sù sím pha vµ kh«ng thÓ ®a ®Õn ®Çu
ra.
+ Tèc ®é lÊy mÉu: Kho¶ng lÊy mÉu lµ tham sè x¸c ®Þnh cho qu¸ tr×nh
chuyÓn ®æi. Tèc ®é lÊy mÉu lín th× sÏ cã ®îc nhiÒu d÷ liÖu trong mét ®¬n vÞ
thêi gian, do ®ã trong trêng hîp nµy biÓu diÔn tÝn hiÖu gèc tèt h¬n.
+ Multiplexing (Dån): §©y lµ mét kü thuËt phæ biÕn trong c¸c thiÕt bÞ
®o lêng tÝn hiÖu.
+ §é ph©n gi¶i: §é ph©n gi¶i cña thiÕt bÞ DAC biÓu thÞ b»ng sè bÝt
cña tÝn hiÖu sè ®Çu ra. Sè bÝt cµng nhiÒu th× sai sè lîng tö ho¸ cµng nh á, ®é
chÝnh x¸c cµng cao. H×nh 3 thÓ hiÖn d¹ng sãng h×nh sin vµ h×nh ¶nh sè ho¸
t¬ng øng nhËn ®îc bëi ADC theo tiªu chuÈn 3 bÝt.
+ D¶i: D¶i ®îc xem lµ kho¶ng tõ gi¸ trÞ ®iÖn ¸p thÊp nhÊt ®Õn gi¸ trÞ
®iÖn ¸p cao nhÊt mµ ADC cã thÓ lîng tö ho¸ ®îc.
+ §é réng m· ho¸: ThiÕt bÞ DAQ cã d¶i, ®é ph©n d¶i vµ nh÷ng tiÖn
Ých s½n cã thÓ x¸c ®Þnh ®îc sù thay ®æi rÊt nhá cña ®iÖn ¸p. Sù thay ®æi
trong ®iÖn ¸p ®îc thÓ hiÖn ë bÝt cã träng sè nhá nhÊt (LSB) cña gi¸ trÞ
digital vµ ®îc gäi lµ ®é réng m· ho¸.
- §Çu ra analog:
§Çu ra analog thêng ®îc bè trÝ phô thuéc vµo t¸c nh©n kÝch thÝch
cña hÖ thæng DAQ. §Æc ®iÓm kü thuËt cña bé DAC ( digital-to-analog
converter) quyÕt ®Þnh chÊt lîng cña tÝn hiÖu ®Çu ra s¶n phÈm nh: thêi gian
x¸c lËp, tèc ®é chuyÓn ®æi vµ ®é ph©n gi¶i ®Çu ra.
+ Thêi gian x¸c lËp: Thêi gian x¸c lËp lµ thêi gian tõ khi tÝn hiÖu sè
®îc ®a vµo ®Õn khi dßng ®iÖn hoÆc ®iÖn ¸p ®Çu ra æn ®Þnh.
+ Tèc ®é chuyÓn ®æi: Tèc ®é chuyÓn ®æi lµ gi¸ trÞ tèc ®é lín nhÊt cña
DAC ®Ó trªn ®Çu ra cã tÝn hiÖu. Thêi gian x¸c lËp vµ tèc ®é chuyÓn ®æi trong
qu¸ tr×nh lµm viÖc quyÕt ®Þnh sù thay ®æi cña møc tÝn hiÖu ®Çu ra DAC. V×
vËy, DAC cã thêi gian x¸c lËp nhá vµ tèc ®é chuyÓn ®æi lín cã thÓ t¹o ra tÝn
hiÖu cao tÇn, bëi v× thêi gian x¸c lËp nhá cÇn thiÕt cho viÖc thay ®æi chÝnh
x¸c møc ®iÖn ¸p ®Çu ra.
+ §é ph©n gi¶i ®Çu ra: §é ph©n gi¶i lµ tØ sè gi÷a gi¸ trÞ cùc tiÓu víi
gi¸ trÞ cùc ®¹i cña ®iÖn ¸p ®Çu ra. VÒ trÞ sè tØ sè nµy t¬ng øng tØ sè gi¸ trÞ
cùc tiÓu ®èi víi gi¸ trÞ cùc ®¹i cña tÝn hiÖu sè ®Çu vµo.
- Vµo, ra tÝn hiÖu sè (DIO).
Vµo ra tÝn hiÖu sè thêng ®îc ghÐp nèi víi hÖ thèng PC DAQ tíi c¸c
quy tr×nh ®iÒu khiÓn, t¹o ra c¸c m« h×nh kiÓm tra vµ göi chóng tíi thiÕt bÞ
ngo¹i vi. Trong mét sè trêng hîp, tham sè quan träng gåm sè ®êng digital
sö dông, tèc ®é lÊy d÷ liÖu tõ d÷ liÖu digital nguån trªn c¸c ®êng ®ã vµ kh¶
n¨ng truyÒn cña c¸c ®êng ®ã. øng dông phæ biÕn nhÊt cña DIO lµ truyÒn d÷
liÖu gi÷a m¸y tÝnh vµ c¸c thiÕt bÞ nh d÷ liÖu bé xö lý, m¸y in.
+ PhÇn mÒm (Software):
PhÇn mÒm chuyÓn ®æi gi÷a PC vµ thiÕt bÞ phÇn cøng DAQ gióp thu
nhËn d÷ liÖu, ph©n tÝch vµ hiÓn thÞ. PhÇn cøng DAQ kh«ng cã phÇn mÒm th×
kh«ng cã t¸c dông vµ phÇn cøng DAQ víi phÇn mÒm chÊt lîng kÐm th× hÇu
nh kh«ng cã t¸c dông. §a phÇn c¸c øng dông DAQ ®Òu sö dông phÇn mÒm
®iÒu khiÓn. PhÇn mÒm ®iÒu khiÓn lµ líp phÇn mÒm t¸c ®éng trùc tiÕp lªn
thanh ghi cña phÇn cøng DAQ ®Ó qu¶n lý ho¹t ®éng cña thanh ghi vµ hîp
thµnh mét thÓ thèng nhÊt víi tµi nguyªn cña m¸y tÝnh, còng nh lµ víi c¸c
ng¾t xö lý, DMA vµ bé nhí.
PhÇn cøng DAQ, m¸y tÝnh vµ phÇn mÒm ngµy cµng ph¸t triÓn tinh vi
vµ phøc t¹p, ®iÒu ®ã cµng cho thÊy tÇm quan träng vµ gi¸ trÞ cña phÇn mÒm
®iÒu khiÓn tèt.
+ PhÇn mÒm øng dông:
PhÇn mÒm øng dông còng nh phÇn mÒm ®iÒu khiÓn lµ ®Ó ®iÒu khiÓn
phÇn cøng DAQ. Lîi thÕ cña phÇn mÒm øng dông lµ chóng cã thÓ ph©n tÝch
vµ lµm t¨ng hiÖu qu¶ cña phÇn mÒm ®iÒu khiÓn. PhÇn mÒm øng dông kÕt hîp
®iÒu khiÓn thiÕt bÞ ®o lêng (GPIB, RS-232, and VXI) vµ thu nhËn d÷ liÖu.
PhÇn mÒm øng dông truyÒn thèng lµ ch¬ng tr×nh C, LabVIEW, phÇn mÒm
free4vn.org -ebooks –software –film –game direct link 38
dientuvietnam.net
lythanhthuan@free4vn.org
øng dông víi c¸c ch¬ng tr×nh ®å ho¹ gióp ph¸t triÓn hoµn thiÖn thiÕt bÞ ®o
lêng, kÕt qu¶ thu ®îc vµ ®iÒu khiÓn øng dông.
C¸c c«ng cô xö lý tÝn hiÖu sè vµ lÊy mÉu hiÖn ®¹i cã thÓ thùc
sù thay thÕ cho viÖc läc tÝn hiÖu t¬ng tù b»ng viÖc läc sè trong c¸c
øng dông mµ yªu cÇu tÝnh mÒm dÎo vµ cã thÓ lËp tr×nh ®îc. §ã lµ
c¸c øng dông bao gåm ©m thanh, viÔ th«ng, ®Þa lý vµ y tÕ
Läc sè cã nh÷ng thuËn lîi h¬n so víi läc läc t¬ng tù lµ:
C¸c VI läc sè ®· bao gåm c¸c tÝnh to¸n, qu¶n lý bé nhí vµ läc
d÷ liÖu hiÖn thêi bªn trong, ngêi sö dông kh«ng ph¶i quan t©m
®Õn nã. V× vËy, ngêi sö dông kh«ng cÇn ph¶i lµ mét chuyªn gia
trong viÖc läc sè hoÆc c¸c lý thuyÕt vÒ läc sè ®Ó xö lý d÷ liÖu.
Lý thuyÕt vÒ c¸c tr¹ng th¸i lÊy mÉu lµ b¹n cã thÓ x©y dùng l¹i
mét tÝn hiÖu liªn tôc theo thêi gian tõ nh÷ng phÇn tö rêi r¸c. T¬ng
tù nh lÊy mÉu c¸c kho¶ng trèng nÕu mµ tÇn sè lÊy mÉu lµ Ýt nhÊt 2
lÇn mµ cã tÇn sè lín nhÊt cña trong thêi gian cña tÝn hiÖu. Cho r »ng
b¹n cã thÓ lÊy mÉu tÝn hiÖu theo thêi gian t¹i c¸c thêi ®iÓm ∆t nh
nhau mµ kh«ng cã sù mÊt th«ng tin. Tham sè ∆t chÝnh lµ kho¶ng
thêi gian lÊy mÉu
Ta cã thÓ thu ®îc tèc ®é lÊy mÉu hoÆc tÇn sè lÊy mÉu fs tõ
kho¶ng thêi gian lÊy mÉu:
1
fs =
∆t
§iÒu ®ã cã nghÜa lµ theo nh lý thuyÕt lÊy mÉu, c¸c tÇn sè cao
thf hÖ thèng sè cã thÓ xö lý lµ:
fs
f Nyq =
2
∆t =0.0001 s
Fs=1.000 Hz
FNyq= 500Hz
- Smoothing windows
free4vn.org -ebooks –software –film –game direct link 40
dientuvietnam.net
lythanhthuan@free4vn.org
Block Diagram sau ®©y x¸c ®Þnh phæ thu ®îc cña c¸c bé läc.
S¬ ®å xö lý d÷ liÖu th«ng qua mét bé läc cêng ®é vµ giai ®o¹n thu
®îc cña tÝn hiÖu ®ã. C¸c bé läc thêng sö dông cÊu tróc “case” ®Ó
thiÕt kÕ. C¸c tÝn hiÖu thu ®îc tõ cÊu tróc “case” lµ sù tr¶ l¹i cña hÖ
thèng. C¸c hµm chuyÓn ®æi cña hÖ thèng phï hîp víi tÝn hiÖu thu
®îc th«ng qua biÕn ®æi Fourier.
Bëi v× tõ cÊu tróc “Case” ®Çu ra lµ tÝn hiÖu ®îc tr¶ l¹i, do ®ã
ta cã thÓ t×m thÊy ®îc hµm chuyÓn víi mét biÕn ®æi Fourier. Mét
nöa cña th«ng tin lµ d thõa . Do ®ã ta chØ cÇn xö lý duy nhÊt mét
free4vn.org -ebooks –software –film –game direct link 41
dientuvietnam.net
lythanhthuan@free4vn.org
nöa th«ng tin sau “Real FFT”. Th«ng tin vÒ cêng ®é vµ bíc trë
nªn dÔ xö lý h¬n so víi c¸c thµnh phÇn thùc vµ ¶o cña FFT, vµ ®o
®ã ta cã thÓ sö dông VI “1D Rectangular to Polar” ®Ó thu ®îc
cêng ®é vµ bíc. Cuèi cïng, xö lý bíc vµ chuyÓn nã sang ®é vµ
chuyÓn cêng ®é sang dªciben