Lêi nãi ®Çu
Khi x©y dùng mét phßng thÝ nghiÖm cho sinh viªn häc tËp nghiªn cøu,
cÇn ph¶i trang bÞ kh¸ nhiÒu thiÕt bÞ hiÖn ®¹i vµ chuyªn dông. Trong thùc tÕ, do
sù ph¸t triÓn m¹nh mÏ cña khoa häc kü thuËt, nªn c¸c hÖ thèng thiÕt bÞ phôc
vô cho bµi to¸n kü thuËt lu«n ®−îc ph¸t triÓn kh«ng ngõng vµ v× sù h¹n chÕ vÒ
kinh phÝ nªn c¸c phßng thÝ nghiÖm nhµ tr−êng khã cã thÓ trang bÞ ®Çy ®ñ vµ
kÞp thêi c¸c thiÕt bÞ thùc ®Ó ®¸p øng nhu cÇu häc tËp vµ nghiªn cøu. §©y lµ
mét trong nh÷ng nguyªn nh©n khiÕn cho c¸c sinh viªn khi ra tr−êng lóng tóng,
bì ngì trong c¸c thao t¸c thùc hµnh vµ v× thÕ hiÖu qu¶ c«ng viÖc gi¶m ®i rÊt
nhiÒu.
Cã thÓ kh¾c phôc h¹n chÕ nµy b»ng c¸ch x©y dùng mét phßng thÝ
nghiÖm ¶o cã ®ñ c¸c trang thiÕt bÞ hiÖn ®¹i víi môc ®Ých gióp c¸c sinh viªn cã
thÓ lµm quen víi mÆt m¸y, thao t¸c trªn c¸c nóm nót, ®äc chØ sè thiÕt bÞ ®o
mét c¸ch thµnh th¹o tr−íc khi lµm viÖc víi c¸c thiÕt bÞ thËt. ThiÕt bÞ ¶o cã
nh÷ng lîi thÕ rÊt lín vÒ gi¸ c¶, chØ tiªu chÊt l−îng vµ tÝnh linh ho¹t so víi thiÕt
bÞ thùc. Do vËy, viÖc x©y dùng mét phßng thÝ nghiÖm ¶o bao gåm c¸c thiÕt bÞ
®o l−êng hiÖn ®¹i cïng c¸c panel thÝ nghiÖm tæng hîp t¹o ra mét hiÖu qu¶
®¸ng kÓ vÒ kinh tÕ vµ cã ý nghÜa rÊt lín trong c«ng t¸c ®µo t¹o, gi¶ng d¹y vµ
nghiªn cøu t¹i c¸c nhµ tr−êng.
Víi môc ®Ých nghiªn cøu, x©y dùng mét phßng thÝ nghiÖm ¶o Lý thuyÕt
m¹ch trªn c¬ së m¹ng m¸y tÝnh vµ c¸c thiÕt bÞ ¶o chuyªn dông phôc vô cho
c«ng t¸c ®µo t¹o gi¶ng day m«n häc Lý thuyÕt m¹ch , ®å ¸n cña em bao gåm
c¸c néi dung chÝnh nh− sau:
-
Ch−¬ng 1: Tr×nh bµy vÒ ng«n ng÷ lËp tr×nh LabVIEW trong c¸c
bµi to¸n ®iÒu khiÓn, ghÐp nèi, m« pháng thiÕt bÞ ¶o vµ c¸c kü
thuËt lËp tr×nh t¹o thiÕt bÞ ¶o trªn LabVIEW.
1
-
Ch−¬ng 2: Tr×nh bµy l−u ®å thuËt to¸n vµ c¸c b−íc thiÕt kÕ x©y
dùng thiÕt bÞ ¶o cho phßng thÝ nghiÖm §o l−êng - Lý thuyÕt
m¹ch.
-
Ch−¬ng 3: Tr×nh bµy vÒ phÇn mÒm EWB trong m« pháng
nguyªn lý ho¹t ®éng cña m¹ch ®iÖn tö vµ c¸c b−íc x©y dùng
mét bµi thÝ nghiÖm Lý thuyÕt m¹ch trªn EWB.
-
Ch−¬ng 4: Sö dông kÕt qu¶ nghiªn cøu cña c¸c ch−¬ng tr−íc ®Ó
tæ chøc x©y dùng mét phßng thÝ nghiÖm ¶o §o l−êng - Lý thuyÕt
m¹ch.
Do h¹n chÕ vÒ thêi gian vµ tr×nh ®é nªn ®å ¸n kh«ng tr¸nh khái nh÷ng
sai sãt. Em rÊt mong nhËn ®−îc c¸c ý kiÕn ®ãng gãp, chØ b¶o cña c¸c thÇy
gi¸o vµ c¸c b¹n ®ång nghiÖp.
Cuèi cïng em xin ch©n thµnh c¶m ¬n thÇy gi¸o PGS TSKH NguyÔn
C«ng §Þnh, KS Cao H÷u T×nh, c¸c thÇy gi¸o trong khoa Kü thuËt §iÒu khiÓn
vµ Trung t©m C«ng nghÖ M« pháng - HVKTQS ®· quan t©m vµ t¹o mäi ®iÒu
kiÖn gióp ®ì em hoµn thµnh ®å ¸n cña m×nh.
Xin ch©n thµnh c¶m ¬n
T¸c gi¶
2
Ch−¬ng 1: Kü thuËt lËp tr×nh hç trî t¹o thiÕt bÞ ¶o
trªn LabVIEW
1.1. Kh¸i niÖm vÒ phÇn mÒm ®å ho¹ LabVIEW
LabVIEW (Laboratory Virtual Istrument Engineerring Worbench) lµ
mét ch−¬ng tr×nh øng dông ph¸t triÓn, dùa trªn c¬ së ng«n ng÷ lËp tr×nh ®å
ho¹ G, th−êng ®−îc sö dông cho môc ®Ých ®o l−êng, xö lý, ®iÒu khiÓn tham sè
vµ m« pháng thiÕt bÞ.
Lµ mét ng«n ng÷ lËp tr×nh ®a n¨ng, gièng nh− C hoÆc BASIC,
LabVIEW cã c¸c th− viÖn hµm cho c¸c nhiÖm vô kh¸c nhau. Víi môc ®Ých
x©y dùng mét ng«n ng÷ chuyªn dông cho c¸c bµi to¸n khoa häc kü thuËt, c¸c
th− viÖn hµm ®−îc cung cÊp bëi LabVIEW rÊt m¹nh, phong phó vµ lu«n ®−îc
ph¸t triÓn ®Ó t−¬ng thÝch víi sù ph¸t triÓn cña phÇn cøng vµ cña c¸c yªu cÇu
thùc tiÔn. Cã thÓ kÓ ra mét sè th− viÖn hµm sau:
- Analysis VIs: Bao gåm c¸c hµm ph©n tÝch vµ xö lý tÝn hiÖu.
- Communication VIs: Cung cÊp c¸c hµm dïng ®Ó kÕt nèi vµ trao ®æi
d÷ liÖu gi÷a c¸c øng dông trªn nÒn WINDOWS.
- Control & Simulation Toolkit: Dïng cho c¸c bµi to¸n m« pháng
vµ ®iÒu khiÓn.
Kh¸c víi ng«n ng÷ lËp tr×nh th«ng th−êng (ng«n ng÷ dßng lÖnh)
LabVIEW sö dông ng«n ng÷ lËp tr×nh G – ng«n ng÷ lËp tr×nh ®å h×nh - ®Ó t¹o
c¸c ch−¬ng tr×nh ë d¹ng s¬ ®å khèi. Do ®ã ng−êi lËp tr×nh cã thÓ thiÕt kÕ mét
giao diÖn m« pháng theo panel cña c¸c thiÕt bÞ vËt lý thùc. Nã cßn t¹o ra mét
c¸i nh×n trùc quan trong viÖc x©y dùng m· nguån, gióp ng−êi lËp tr×nh trong
thiÕt kÕ hÖ thèng, gì rèi vµ kiÓm tra ch−¬ng tr×nh.
1.2. Kü thuËt lËp tr×nh c¬ b¶n trªn LabVIEW
1.2.1. CÊu tróc ch−¬ng tr×nh
3
C¸c ch−¬ng tr×nh x©y dùng trªn LabVIEW (VIs) t−¬ng tù nh− c¸c
function cña mét ng«n ng÷ lËp tr×nh dßng lÖnh. Mét VI gåm cã ba phÇn: Giao
diÖn víi ng−êi sö dông – Front Panel, l−u ®å cung cÊp m· nguån – Block
Diagram, vµ biÓu t−îng kÕt nèi – Icon/Conector.
- Front Panel: Lµ n¬i giao tiÕp gi÷a ng−êi dïng vµ ch−¬ng tr×nh. Nã
t−¬ng tù nh− mét panel cña c¸c thiÕt bÞ vËt lý, bao gåm c¸c nót bËt,
c«ng t¾c chuyÓn m¹ch, bé hiÓn thÞ,..Víi Front Panel b¹n cã thÓ nhËp
sè liÖu tõ bµn phÝm (hoÆc chuét) vµ xem kÕt qu¶ tõ mµn h×nh. H×nh
1.1 minh ho¹ mét Front Panel cña ch−¬ng tr×nh.
H×nh 1.1: Front Panel cña ch−¬ng tr×nh
- Block Diagram: VI nhËn lÖnh tõ block diagram. §©y lµ mét ph−¬ng
thøc ®−îc sö dông trong G – ng«n ng÷ ®å h×nh. Block diagram
th−êng cã c¸c ®èi t−îng, c¸c hµm vµ SubVI, ®−îc kÕt nèi víi nhau
theo mét quy t¾c nhÊt ®Þnh ®Ó cung cÊp m· nguån ®å h×nh cho VI
thùc hiÖn. Block diagram gåm cã c¸c terminal, node vµ wire.
Terminal lµ cæng truyÒn d÷ liÖu gi÷a block diagram víi front panel
hoÆc gi÷a c¸c node trong cïng mét block diagram. §Ó hiÓn thÞ c¸c
terminal cña hµm hoÆc VI, kÝch chuét ph¶i vµo icon cña chóng råi
chän menu: Show>>Terminal. Node lµ c¸c phÇn tö thùc hiÖn
4
ch−¬ng tr×nh. Chóng t−¬ng tù nh− c¸c mÖnh ®Ò, to¸n tö, hµm hoÆc
ch−¬ng tr×nh con ë trong c¸c ng«n ng÷ lËp tr×nh dßng lÖnh. Wire
gièng nh− c¸c bus truyÒn d÷ liÖu gi÷a c¸c node. H×nh 1.2 minh ho¹
mét Block Diagram cña ch−¬ng tr×nh.
H×nh 1.2: Block Diagram cña ch−¬ng tr×nh
- Icon vµ Connector: VI cã thÓ thùc hiÖn mét c¸ch ®éc lËp hoÆc ®−îc
mét VI kh¸c gäi tíi nh− mét ch−¬ng tr×nh con (SubVI). §Ó lµm ®iÒu
nµy LabVIEW ®−a ra kh¸i niÖm icon vµ connector. Icon lµ biÓu
t−îng cña mét VI, ®−îc dïng khi sö dông VI nµy nh− mét SubVI
trong mét VI kh¸c. Mét VI gäi tíi mét VI kh¸c b»ng c¸ch ®−a icon
cña nã vµo block diagram. Connector lµ mét phÇn tö cña terminal
dïng ®Ó kÕt nèi c¸c ®Çu vµo hoÆc ®Çu ra cña mét SubVI víi c¸c node
kh¸c trong block diagram cña VI gäi nã. Mçi VI cã mét icon mÆc
®Þnh hiÓn thÞ trong b¶ng Icon ë gãc trªn bªn ph¶i cña cöa sæ Front
Panel hoÆc Block Diagram (h×nh 1.3).
H×nh 1.3: Icon cña ch−¬ng tr×nh
5
§Ó hiÓn thÞ connector cña mét VI trªn front panel, kÝch chuét ph¶i vµo
icon vµ chän menu: Show>>Connector.
1.2.2. C¸c c«ng cô hç trî lËp tr×nh
- Tools palette: Bao gåm c¸c chÕ ®é lµm viÖc cña chuét. C¸c c«ng cô
cã trong tools palette ®−îc sö dông ®Ó so¹n th¶o hoÆc ch¹y ch−¬g
tr×nh. §Ó truy cËp vµo Tools palette chän menu: Window>>Show
Tools palette. Khi nµy xuÊt hiÖn mét b¶ng c«ng cô nh− minh ho¹ ë
h×nh 1.4.
H×nh 1.4: Tools palette
H×nh 1.5: Controls Palette
- Controls palette: Lµ b¶ng chøa c¸c bé ®iÒu khiÓn vµ chØ thÞ ®−îc sö
dông trªn front panel cña c¸c VI. Controls lµ c¸c terminal ®Çu vµo,
dïng ®Ó cung cÊp d÷ liÖu cho VI cßn Indicators lµ c¸c terminal ®Çu
ra dïng ®Ó hiÓn thÞ d÷ liÖu do VI t¹o ®−îc. §Ó truy cËp vµo controls
panel ta chän menu: Window>>Show Controls palette. Khi nµy
xuÊt hiÖn b¶ng controls nh− minh ho¹ ë h×nh 1.5. Cã thÓ tham kh¶o
[10] hoÆc xem help cña phÇn mÒm ®Ó cã th«ng tin chi tiÕt h¬n vÒ c¸c
®iÒu khiÓn trong controls palette.
6
- Functions palette: Functions lµ c¸c node c¬ b¶n trong ng«n ng÷ lËp
tr×nh G, nã t−¬ng tù c¸c to¸n tö hoÆc c¸c hµm trong ng«n ng÷ th«ng
th−êng. Functions cã biÓu t−îng mµu vµng, kh«ng cã front panel vµ
block diagram (do chóng kh«ng ph¶i lµ c¸c VIs). Cã thÓ truy nhËp
c¸c functions tõ Window>>Functions palette. H×nh 1.6 minh ho¹
mét Functions Palette.
H×nh 1.6: Functions Palette
Functions ®−îc sö dông ®Ó x©y dùng block diagram. LabVIEW cã
th− viÖn hµm rÊt m¹nh vµ phong phó ®Ó xö lý kÕt qu¶ còng nh− ®iÒu
khiÓn vµ m« pháng thiÕt bÞ nh−: c¸c hµm xö lý to¸n häc - Numeric
Functions, c¸c hµm biÕn ®æi logic - Boolean Functions, c¸c hµm xö
lý m¶ng vµ ma trËn - Array Functions. Cïng víi sù ph¸t triÓn cña
khoa häc kü thuËt mµ c¸c th− viÖn hµm trªn LabVIEW lu«n ®−îc
7
ph¸t triÓn vµ chuyªn dông ho¸ ®Ó ng−êi dïng cã thÓ cËp nhËt vµ sö
dông hiÖu qu¶ cho môc ®Ých c«ng viÖc cña m×nh.
1.2.3. C¸c b−íc x©y dùng ch−¬ng tr×nh trªn LabVIEW
Sau khi ®· t×m hiÓu ®Æc ®iÓm cña ng«n ng÷, c«ng cô hç trî vµ ®iÒu
khiÓn ch−¬ng tr×nh ta sÏ b¾t tay vµo x©y dùng mét VI. §Ó x©y dùng mét
ch−¬ng tr×nh trªn LabVIEW cÇn tu©n thñ theo c¸c b−íc sau:
- ThiÕt kÕ giao diÖn trªn Fronl panel: T¹o mét VI míi b»ng c¸ch
chän New VI tõ hép héi tho¹i hoÆc tõ menu: File>>New. §Æt c¸c
Control vµ Indicator cÇn thiÕt lªn Front Panel b»ng c«ng cô
positioning tool. Pop-up lªn tõng ®èi t−îng ®Ó lùa chän c¸ch hiÓn
thÞ vµ thay ®æi thuéc tÝnh cña chóng.
- X©y dùng m· nguån trªn Block Diagram: Chän Windows>>
Show Block Diagram (phÝm t¾t lµ Ctrl+E) ®Ó hiÖn Block Diagram
cña VI. Thao t¸c t−¬ng tù b−íc 1 ®Ó x©y dùng c¸c cÊu tróc vµ hµm
cÇn thiÕt cho ch−¬ng tr×nh. Chän c«ng cô Wiring tool ®Ó liªn kÕt
c¸c ®èi t−îng trong Block Diagram. Trë l¹i front panel chän c«ng cô
Operating tool ®Ó nhËp gi¸ trÞ ®Çu vµo vµ kÝch ho¹t cho VI ho¹t
®éng ®Ó kiÓm tra lçi vµ ®¸nh gi¸ thuËt to¸n.
- Sao l−u ch−¬ng tr×nh: Ghi ch−¬ng tr×nh lªn ®Üa víi tªn më réng lµ
*.VI b»ng c¸ch chän New >>Save (Ctrl+S) hoÆc New>>Save As.
1.2.4. Kh¸i niÖm vµ c¸ch x©y dùng mét SubVI
Trong lËp tr×nh ta th−êng gÆp hai vÊn ®Ò:
- Cã mét sè ®o¹n m· ®−îc lÆp l¹i mµ viÖc viÕt chóng khiÕn ch−¬ng
tr×nh trë nªn cång kÒnh nªn cÇn ph¶i tËp hîp vµo mét modul ®Ó khi
ch−¬ng tr×nh cã yªu cÇu th× chØ cÇn gäi modul nµy.
- Víi mét ch−¬ng tr×nh lín cÇn ph¶i chia thµnh c¸c modul nhá cho
nhiÒu ng−êi cïng x©y dùng (kiÓu top-down) mµ c¸c modul nµy cã
8
thÓ ho¹t ®éng ®éc lËp song còng cã thÓ kÕt hîp l¹i trong mét modul
møc ®Ønh ®Ó thùc hiÖn c¸c yªu cÇu ®Æt ra.
§Ó gi¶i quyÕt vÊn ®Ò nµy, LabVIEW ®−a ra kh¸i niÖm SubVI. SubVI lµ
mét VI ®−îc bæ sung thªm biÓu t−îng (icon) vµ ®Çu nèi (connector) ®Ó cã thÓ
sö dông trong VI kh¸c. ViÖc sö dông SubVI gióp ch−¬ng tr×nh dÔ hiÓu, dÔ gì
rèi vµ cã thÓ ph©n chia mét nhiÖm vô phøc t¹p thµnh nhiÒu modul ®Ó nhiÒu
ng−êi cïng tham gia hoµn thµnh.
Trong LabVIEW cã hai c¸ch c¬ b¶n ®Ó x©y dùng mét SubVI: X©y dùng
tõ mét VI vµ x©y dùng tõ mét phÇn cña VI.
§Ó x©y dùng SubVI tõ mét VI ta lµm theo c¸c b−íc sau:
- ThiÕt kÕ front panel vµ x©y dùng m· nguån trªn block diagram:
B−íc nµy t−¬ng tù nh− c¸c b−íc t¹o mét VI mµ ta ®· tr×nh bµy ë
trªn.
- T¹o biÓu t−îng cho SubVI: §Ó t¹o biÓu t−îng cña VI cÇn cho hiÖn
cöa sæ Icon Editor. Cã thÓ gäi cöa sæ nµy b»ng c¸ch kÝch ®óp chuét
vµo « biÓu t−îng ë gãc bªn ph¶i hoÆc kÝch chuét ph¶i vµ chän môc
Edit Icon. Khi ®ã cöa sæ sÏ hiÖn lªn nh− minh ho¹ d−íi h×nh 1.12.
Sö dông c¸c c«ng cô ë bªn tr¸i cöa sæ ®Ó thiÕt kÕ biÓu t−îng theo ý
muèn.
H×nh 1.12: Icon Editor
9
- X¸c ®Þnh c¸c mÉu connector terminal: §Ó cã thÓ nhËn hay truyÒn
d÷ liÖu b¹n cÇn ph¶i cã c¸c connector. LabVIEW cã rÊt nhiÒu mÉu
conector mµ ta cã thÓ chän b»ng c¸ch pop-up trªn icon vµ chän
Pattern. Khi nµy mét b¶ng mÉu cña connector sÏ xuÊt hiÖn nh− h×nh
1.13.
H×nh 1.13: Pattern Icon
Ta cã thÓ thªm mét terminal vµo mÉu (Add Terminal), bá mét
terminal (Remove Terminal) hoÆc thay ®æi kh«ng gian s¾p xÕp
(Flip Horizontal, Flip Vertical, Rotage 90 degrees).
H×nh 1.14: G¸n Terminal cho Controls
10
- G¸n Terminal cho Control vµ Indicator: BÊm chuét vµo mét
Terminal, nã chuyÓn thµnh mµu ®en vµ chuét chuyÓn thµnh Wiring
tool. BÊm chuét vµo control (hoÆc Indicator) muèn g¸n cho
Terminal ®· chän, mét khung nhÊp nh¸y sÏ bao lÊy ®èi t−îng. KÝch
chuét lªn vïng trèng bÊt kú ®Ó hoµn thµnh viÖc g¸n. LÆp l¹i cho c¸c
Control vµ Indicator kh¸c. H×nh 1.14 minh ho¹ viÖc g¸n Terminal
cho Control vµ Indicator.
§Ó x©y dùng SubVI tõ VI ta chän phÇn cÇn x©y dùng b»ng c«ng cô
Positioning tool sau ®ã chän menu: Edit>>Creat SubVI. Khi nµy c¸c
control vµ indicator ®−îc tù ®éng t¹o cho SubVI míi, SubVI ®−îc tù ®éng nèi
víi c¸c d©y nèi ®ang cã vµ mét biÓu t−îng thay thÕ cho phÇn ®−îc chän cña
Block Diagram cña VI gèc. T¹o mét SubVI tõ mét phÇn cña VI gièng nh−
viÖc bá mét phÇn cña SubVI vµ thay thÕ b»ng mét SubVI ngo¹i trõ c¸c ®iÓm
sau:
- Kh«ng mét terminal nµo cña Front Panel trong phÇn ®−îc chän bÞ
lo¹i bá. Chóng ®−îc gi÷ l¹i vµ ®−îc nèi víi SubVI võa t¹o.
- TÊt c¶ c¸c thuéc tÝnh trong phÇn chän ®−îc gi÷ l¹i trong VI vµ ®−îc
nèi víi SubVI. Nh÷ng thuéc tÝnh nµy ®−îc thay thÕ bëi c¸c terminal
cña Front Panel trong SubVI vµ ho¹t ®éng nh− c¸c kªnh truyÒn gi¸
trÞ cña mét thuéc tÝnh vµo hoÆc ra khái SubVI.
- Khi phÇn ®−îc chän chøa mét biÕn côc bé, nã ®−îc thay thÕ bëi
terminal cña Front Panel trong SubVI vµ ®−îc gi÷ l¹i trong VI gäi ®Ó
nèi víi SubVI. Khi cã nhiÒu biÕn côc bé th× chØ cã biÕn ®Çu trë
thµnh terminal cña Front Panel cßn c¸c biÕn cßn l¹i ®−îc chuyÓn vµo
SubVI.
Chó ý: BiÓu t−îng ®Æt lªn SubVI khi t¹o chóng tõ mét phÇn cña VI lµ
mét biÓu t−îng mÆc ®Þnh. Do vËy cÇn ph¶i so¹n l¹i biÓu t−îng theo c¸ch ®·
tr×nh bµy ë trªn.
11
1.2.5. Gì rèi ch−¬ng tr×nh
Mét VI kh«ng thÓ biªn dÞch hoÆc ch¹y nÕu nã bÞ lçi. NÕu VI bÞ lçi, nót
VI Run cã biÓu t−îng lµ mòi tªn g·y (Brocken Run). §iÒu nµy cã thÓ do
trong Block Diagram cã c¸c Wire sai quy c¸ch. §Ó lo¹i bá chóng chän Edit
>> Remove Bad Wires. NÕu thao t¸c trªn vÉn kh«ng ®−îc ta cã thÓ t×m
nguyªn nh©n g©y lçi b»ng c¸ch kÝch vµo nót Brocken Run. Khi ®ã xuÊt hiÖn
hép th«ng tin Error List liÖt kª d¹nh s¸ch c¸c lçi.
§Ó truy cËp vµo hép nµy chän Windows >> Show Error List hoÆc
kÝch vµo nót Warning (chØ xuÊt hiÖn khi VI cã lçi). §Ó t×m vÞ trÝ lçi kÝch ®óp
chuét vµo dßng v¨n b¶n m« t¶ lçi, néi dung cña lçi sÏ xuÊt hiÖn trong cña sæ
phÝa tr−íc lµm râ ®èi t−îng g©y ra lçi trªn Block Diagram.
H×nh 1.15 minh ho¹ mét hép th«ng tin Error List:
H×nh 1.15: Cöa sæ Error List
Trong tr−êng hîp ch−¬ng tr×nh thùc hiÖn nh−ng kh«ng t¹o ra kÕt qu¶
nh− mong muèn (lçi thuËt to¸n), ta cã thÓ debug theo c¸c b−íc sau:
12
- Lo¹i bá tÊt c¶ c¸c lêi b¸o hiÖu. Chän Show Warning trong cöa sæ
Error List, hép liÖt kª danh s¸ch sÏ nhËn ra c¸c lêi b¸o hiÖu ®èi víi
VI. X¸c ®Þnh nguyªn nh©n vµ lo¹i bá chóng.
- KiÓm tra d©y nèi.
- §¶m b¶o c¸c node vµ function ®· ®−îc dïng ®óng.
- Sö dông Breakpoints thùc hiÖn tõng b−íc ®Ó x¸c ®Þnh xem VI ho¹t
®éng cã ®óng tr×nh tù kh«ng.
- Sö dông ®Æc tÝnh th¨m dß Probe ®Ó quan s¸t c¸c gi¸ trÞ d÷ liÖu trung
gian. KiÓm tra lçi ®Çu ra cña c¸c function vµ VI thùc hiÖn vµo ra.
- KiÓm tra sù trµn cña c¸c Control vµ Indicators.
- KiÓm tra thø tù c¸c phÇn tö cña Cluster t¹i ®iÓm nguån vµ ®Ých.
D−íi ®©y xin tr×nh bµy chi tiÕt h¬n mét sè ph−¬ng ph¸p gì rèi cho
ch−¬ng tr×nh hay ®−îc dïng trong LabVIEW.
Sö dông ®Æc tÝnh th¨m dß – Probe: Ph−¬ng ph¸p nµy th−êng ®−îc sö
dông ®Ó quan s¸t c¸c gi¸ trÞ d÷ liÖu trung gian trong cÊu tróc lÆp. Trong Tools
palette chän Probe tool. Trªn Block Diagram chän ®èi t−îng cÇn debug, kÝch
chuét tr¸i lªn ®èi t−îng ®Ó t¹o mét ®iÓm dß. Lµm t−¬ng tù cho c¸c ®èi t−îng
cÇn debug kh¸c. Trë l¹i Front Panel ch¹y ch−¬ng tr×nh ®Ó quan s¸t gi¸ trÞ tr¶
vÒ trong cöa sæ Probe.
Ch¹y ch−¬ng tr×nh theo chÕ ®é Execution Highlighting: §Ó kiÓm tra
kÕt qu¶, c¸ch tèt nhÊt lµ theo dâi sù ho¹t ®éng cña Block Diagram d−íi d¹ng
ho¹t ho¹ (animation) – trong ®ã gi¸ trÞ cña c¸c phÇn tö ®−îc hiÓn thÞ vµ di
chuyÓn chËm trong luång d÷ liÖu (data flow) ®Ó ng−êi lËp tr×nh theo dâi vµ
kiÓm tra tÝnh ®óng ®¾n cña nã. KÝch vµo nót Highlighting Execution ®Ó ch¹y
trong chÕ ®é nµy, kÝch l¹i mét lÇn n÷a ®Ó vÒ chÕ ®é b×nh th−êng.
Sö dông chÕ ®é ho¹t ®éng Single-Step: Ch¹y ch−¬ng tr×nh theo tõng
node vµ t¹m dõng ë node kÕ tiÕp cho ®Õn khi cã sù kÝch ho¹t cña ng−êi sö
13
dông. ChÕ ®é nµy th−êng ®−îc sö dông cïng víi chÕ ®é Highlighting ®Ó kiÓm
tra tÝnh ®óng ®¾n cña ch−¬ng tr×nh.
1.2.6. VÝ dô minh ho¹
§Ó kÕt thóc phÇn tr×nh bµy vÒ lËp tr×nh c¬ b¶n trªn LabVIEW, em xin
®−a ra mét vÝ dô nhá vÒ sö dông ng«n ng÷ G ®Ó gi¶i bµi to¸n ®a thøc. Ch−¬ng
tr×nh cã nhiÖm vô tÝnh gi¸ trÞ mét ®a thøc bËc hai cho mét m¶ng biÕn bÊt kú
®−îc nhËp tõ bµn phÝm. D−íi ®©y lµ c¸c b−íc cô thÓ ®Ó x©y dùng ch−¬ng
tr×nh:
B−íc 1: Më mét file míi b»ng c¸ch chän File >> New. ThiÕt kÕ giao
diÖn cho ch−¬ng tr×nh bao gåm ba numeric control tham sè a, b vµ c, mét
array numeric control ®èi sè x vµ mét array numeric indicator hµm sè y. Popup vµo tõng ®èi t−îng ®Ó chän thuéc tÝnh cña chóng. KÕt thóc b−íc 1 ta ®−îc
mét front panel nh− h×nh 1.16.
H×nh 1.16: Front Panel cña VÝ dô 1
B−íc 2: X©y dùng m· nguån cho Block diagram. ë ®©y ta sö dông
Formula node ®Ó lËp mét ®a thøc bËc hai cã d¹ng: y=ax2+bx+c. Node nµy
®−îc ®−a vµo trong mét vßng lÆp For loop ®Ó xö lý víi m¶ng ®èi sè x ë ®Çu
vµo, cho ra kÕt qu¶ lµ m¶ng hµm sè y ®Çu ra. Block diagram cña vÝ dô 1 ®−îc
hoµn chØnh nh− h×nh 1.17.
14
H×nh 1.17: Block Diagram cña vÝ dô 1
B−íc 3: Sau khi ®· x©y dùng xong m· nguån ®å h×nh, ®¶m b¶o ch−¬ng
tr×nh ch¹y ®óng, chóng ta kÕt thóc viÖc lËp tr×nh b»ng c¸ch l−u ch−¬ng tr×nh
vµo ®Üa víi tªn Vidu1.vi b»ng menu: File >> Save hoÆc phÝm t¾t Ctrl+S.
Cã thÓ x©y dùng Vidu1.vi thµnh mét SubVI cho c¸c ch−¬ng tr×nh kh¸c
theo c¸c b−íc sau:
H×nh 1.18: ThiÕt kÕ icon
B−íc 1: T¹o Icon vµ Connector. Sö dông Edit icon ®Ó t¹o biÓu t−îng
nh− h×nh 1.18. Nªn t¹o biÓu t−îng mét c¸ch trùc quan thÓ hiÖn ®−îc c¸c tÝnh
15
chÊt cña SubVI mµ ta x©y dùng. Sau ®ã pop-up vao icon chon menu: Show
connector ®Ó chän mÉu connector phï hîp tõ b¶ng pattern.
B−íc 2: G¸n tõng connector cho c¸c terminal t−¬ng øng (nh− h×nh
1.19). ChuyÓn icon vÒ d¹ng ban ®Çu b»ng c¸ch chän Show icon, ghi l¹i nh÷ng
thay ®æi trong ch−¬ng tr×nh ta sÏ ®−îc mét SubVI hoµn chØnh.
H×nh 1.19: ThiÕt kÕ connector
Trªn ®©y lµ toµn bé c¸c b−íc ®Ó x©y dùng mét VI. Cã thÓ ph¸t triÓn VI
nµy ®Ó t×m gi¸ trÞ cña mét ®a thøc bËc N víi chØ sè bËc nhËp vµo tõ bµn phÝm.
1.3. LËp tr×nh n©ng cao hç trî t¹o thiÕt bÞ ¶o trªn LabVIEW
1.3.1. Trao ®æi th«ng tin vµ lËp tr×nh m¹ng b»ng LabVIEW
LabVIEW hç trî kh¶ n¨ng kÕt nèi vµ chia sÎ tµi nguyªn gi÷a c¸c øng
dông ch¹y trªn nÒn Windows trong m«i tr−êng m¹ng. §Ó trao ®æi d÷ liÖu gi÷a
c¸c øng dông, LabVIEW sö dông c¸c giao thøc sau (ë ®©y ta chØ quan t©m ®Õn
c¸c øng dông ch¹y trªn nÒn Windows):
- TCP/IP: Cã s½n trong tÊt c¶ c¸c m¸y tÝnh.
- DDE: Cã s½n trong c¸c m¸y PC ®Ó rao ®æi th«ng tin gi÷a c¸c øng
dông cña Windows.
- Active X: Cã s½n trong c¸c m¸y PC ch¹y trªn hÖ ®iÒu hµnh Win 9X.
- Data Socket: §−îc hç trî trong phÇn mÒm LabVIEW phiªn b¶n 6.i.
16
TÊt c¶ c¸c øng dông m¹ng ®Òu cã chung mét m« h×nh, ®ã lµ m« h×nh
client/server. Trong m« h×nh nµy mét tËp c¸c qu¸ tr×nh (client) yªu cÇu sù
phôc vô tõ mét tËp c¸c qu¸ tr×nh kh¸c (server). Trong LabVIEW chóng ta cã
thÓ sö dông m« h×nh nµy cho tÊt c¶ c¸cgiao thøc liÖt kª ë trªn. Cã thÓ kh¸i
qu¸t mét qu¸ tr×nh kÕt nèi sö dông m« h×nh client/server nh− sau.
§èi víi mét m¸y kh¸ch:
§Çu tiªn client më mét kÕt nèi víi server. NÕu kÕt nèi thµnh c«ng,
client sÏ göi tíi server mét tËp lÖnh yªu cÇu truyÒn d÷ liÖu hoÆc lÖnh ®iÒu
khiÓn tõ xa vµ nhËn gi¸ trÞ göi tr¶ (response) cña server. Cuèi cïng client ®ãng
kÕt nèi l¹i kÕt thóc mét qu¸ tr×nh trao ®æi th«ng tin.
§èi víi mét m¸y chñ:
§Çu tiªn LabVIEW khëi t¹o mét server. NÕu khëi t¹o thµnh c«ng nã sÏ
®i vµo mét vßng lÆp, t¹i ®ã nã ®îi c¸c client kÕt nèi vµ ph¸t yªu cÇu. Server
thùc hiÖn c¸c yªu cÇu vµ lÆp l¹i qu¸ tr×nh nµy cho ®Õn khi bÞ dõng l¹i bëi
ng−êi sö dông hoÆc khi tiÕp nhËn lÖnh kÕt thóc tõ xa (do mét client nµo ®ã yªu
cÇu).
H×nh 1.20: DataSocket Server Manager
17
Khi x©y dùng bµi to¸n m¹ng trong c¸c ng«n ng÷ lËp tr×nh kiÓu dßng
lÖnh, ng−êi lËp tr×nh th−êng ph¶i tù x©y dùng vµ qu¶n lý c¸c tiÕn tr×nh trong
m« h×nh client/server cña m×nh, ®iÒu nµy g©y ra mét khã kh¨n kh«ng nhá vµ
chiÕm nhiÒu thêi gian trong viÖc lËp tr×nh. B¾t ®Çu tõ phiªn b¶n 6.0 trë ®i,
LabVIEW hç trî viÖc trao ®æi d÷ liÖu th«ng qua Data Socket b»ng c¸ch cung
cÊp mét th− viÖn hµm vµ mét tiÖn Ých qu¶n lý viÖc trao ®æi d÷ liÖu b»ng Data
Socket – Data Socket Server Manager (minh ho¹ ë h×nh 1.20), ®iÒu nµy gióp
ng−êi lËp tr×nh gi¶m ®−îc ®¸ng kÓ thêi gian cµi ®Æt mét hÖ qu¶n trÞ m¹ng vµ
khiÕn cho hiÖu qu¶ lËp tr×nh t¨ng lªn rÊt nhiÒu.
Data Socket lµ mét ph−¬ng thøc trao ®æi d÷ liÖu cña Windows cho phÐp
c¸c øng dông trao ®æi d÷ liÖu cho nhau th«ng qua m¹ng. Nã cho phÐp c¸c øng
dông trao ®æi d÷ liÖu víi nhau theo c¸c gãi th«ng tin (giao thøc TCP/IP) hoÆc
d−íi d¹ng c¸c file d÷ liÖu (giao thøc truyÒn file - FPT). Khi nµy Data Socket
Server t¹o ra c¸c Data Items cho phÐp mét øng dông göi d÷ liÖu tíi hoÆc nhËn
d÷ liÖu vÒ.
§Ó göi d÷ liÖu tíi mét Data Items cã thÓ sö dông hµm DataSocket
Write, cßn ®Ó nhËn d÷ liÖu tõ mét Data Items cã thÓ sö dông hµm
DataSocket Read. H×nh 1.21 vµ 1.22 minh ho¹ hai hµm nµy trong LabVIEW.
H×nh 1.21: DataSocket Read
H×nh 1.22: DataSocket Write
18
C¸c terminal cÇn thiÕt cho hai hµm nµy: tªn m¸y tÝnh trªn m¹ng, tªn cña
Data Items, kiÓu d÷ liÖu vµ d÷ liÖu.
§Ó sö dông ph−¬ng thøc nµy, cã thÓ gäi c¸c hµm tõ th− viÖn
Communication >> DataSocket. Tham kh¶o Help ®Ó cã thªm th«ng tin chi
tiÕt vÒ c¸c hµm.
1.3.2. ThiÕt kÕ custom controls
Nh− ®· tr×nh bµy ë c¸c môc tr−íc, Controls lµ c¸c terminals cho phÐp
ng−êi sö dông nhËp d÷ liÖu vµo ch−¬ng tr×nh vµ quan s¸t c¸c kÕt qu¶ nhËn
®−îc tõ ch−¬ng tr×nh. Víi môc ®Ých hç trî cho c¸c bµi to¸n kÕt nèi vµ ®iÒu
khiÓn, c¸c controls trong LabVIEW ®−îc x©y dùng nh− c¸c nóm nót, bé hiÓn
thÞ trong thiÕt bÞ vËt lý thùc. H×nh 1.23 minh ho¹ mét sè Controls trong
LabVIEW .
H×nh 1.23: Mét sè Controls c¬ b¶n trªn LabVIEW
MÆc dï c¸c controls ®−îc x©y dùng bëi LabVIEW kh¸ phong phó vµ ®a
d¹ng vÒ kiÓu lo¹i song vÉn kh«ng thÓ theo kÞp sù ph¸t triÓn liªn tôc cña c¸c
thiÕt bÞ kü thuËt. §Ó gi¶i quyÕt ®iÒu nµy, LabVIEW cho phÐp ng−êi lËp tr×nh
sö dông Custom Controls. Custom Controls lµ c¸c ®iÒu khiÓn tuú biÕn do
ng−êi lËp tr×nh tù thiÕt kÕ. Tõ nh÷ng Controls c¬ b¶n, ng−êi lËp tr×nh cã thÓ
thay ®æi c¸c thuéc tÝnh, kiÓu hiÓn thÞ,.. ®Ó t¹o nh÷ng Controls cña riªng m×nh.
§iÒu nµy t¹o ra mét hiÖu qu¶ cao vµ ®Æc biÖt cã ý nghÜa trong bµi to¸n m«
pháng nh÷ng thiÕt bÞ vËt lý cô thÓ. H×nh 1.24 vµ 1.25 minh ho¹ mét Default
Controls vµ Custom Controls trong bµi to¸n m« pháng thiÕt bÞ.
19
H×nh 1.24: M« pháng thiÕt bÞ ®o hiÓn thÞ sè víi c¸c Default Controls
H×nh 1.25: M« pháng thiÕt bÞ ®o hiÓn thÞ sè víi Custom Controls
Trong vÝ dô minh ho¹ nµy, em thiÕt kÕ mét m¸y ®o víi phÇn hiÓn thÞ lµ
c¸c ®Ìn LED 7 ®o¹n. Râ rµng lµ víi ch−¬ng tr×nh m« pháng sö dông c¸c
Custom Controls t¹o ra ®−îc mét giao diÖn rÊt trùc quan vµ Ên t−îng m¹nh
cho ng−êi thao t¸c.
§Ó t¹o mét Custom Controls, ta cã thÓ x©y dùng chóng theo c¸c b−íc
sau ®©y:
- B−íc 1: Tõ menu bar chän File >> New >> Control. Khi nµy xuÊt
hiÖn mét cöa sæ x©y dùng Custom Controls nh− h×nh 1.26.
H×nh 1.26: T¹o mét New Custom Control
20
- Xem thêm -