You are on page 1of 125

Hc phn

LP TRNH labVIEW C BN

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

LabVIEW

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

labVIEW

GV: Nguyn Thanh Tn

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

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

Phn 1

THAO TC TRN LABVIEW

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

Khi ng LabVIEW

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

Giao din labVIEW


Thanh menu

Tham kho
To new VI (Blank VI)

M file lu

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

To mt VI mi

GV: Nguyn Thanh Tn

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

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

Virtual Instruments (VIs)


Giao din chnh Controls = Inputs (Vo) Indicators = Outputs (Ra) Biu khi Cc khi chng trnh ca giao din chnh Cc thnh phn i dy.

GV: Nguyn Thanh Tn

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

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

Giao din lp trnh

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

Giao din lp trnh

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

Thanh cng c

GV: Nguyn Thanh Tn

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

GV: Nguyn Thanh Tn

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

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

Front panel

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

Front panel

-To cc lnh trn FP -Thay i nhn, chnh text v nh dng -Thay i c tnh i tng
GV: Nguyn Thanh Tn

Lp trnh LabVIEW

Block diagram
Functions (Hm) nm trong Block Diagram Nhm to chng trnh hon chnh

V d: While loop, For Loop


Webcam

While room is active door is open Loop


GV: Nguyn Thanh Tn

Lp trnh LabVIEW

Block diagram

GV: Nguyn Thanh Tn

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

Lp trnh LabVIEW

Kiu d liu trn Block Diagram

GV: Nguyn Thanh Tn

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

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

Terminals trong Block Diagram


Terminal l i tng tn ti trong Block Diagram ln Front panel Lun tn ti cc ng vo ra truyn thng gia Front panel v Block Diagram Thay i kiu hin th ca cc terminals bng cch nhp phi chut v chn View as Icon

GV: Nguyn Thanh Tn

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
Cha cc biu tng iu khin v hin th (giao din ngi dng) Truy cp Control Palette (chut phi) Bao gm cc control v Indicator

Block Diagram
Chc code chng trnh (lp trnh)

Truy cp Function Palette (chut phi)


Bao gm cc terminals, VIs, subVIs, functions, constants, Structures, wires,.
Lp trnh LabVIEW

GV: Nguyn Thanh Tn

Tm kim v Help
Tm Controls, Functions, Vis s dng nt Search trn Controls v Functions palette Chn Help>>Show Context Help (Ctrl+H) hoc nhp vo biu tng Help: Search the labVIEW Help, NI Example Finder, hin th cc thng tin c bn v i tng labVIEW

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

Phn 2

K THUT G RI (DEBUG)

GV: Nguyn Thanh Tn

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

GV: Nguyn Thanh Tn

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

GV: Nguyn Thanh Tn

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.

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

Phn 3

LP TRNH THEO MODUL

GV: Nguyn Thanh Tn

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

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

subVIs

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

subVIs

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

subVIs

GV: Nguyn Thanh Tn

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

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

s dng mt VI ging nh mt subVI, ta to mt Icon v Connector pane sau thit k Front panel v Blockdiagram

GV: Nguyn Thanh Tn

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

GV: Nguyn Thanh Tn

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

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

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

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

Tr gip v phn loi u cui

GV: Nguyn Thanh Tn

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

t mt VI ang m trn Block diagram ca VI ang m khc


Click vo biu tng ca VI bn mun s dng nh mt subVI Ko biu tng (Icon) cho vo Block diagram ca VI khc

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

To mt subVI
Chn phn no mun a vo subVI Chn Edit>> Create SubVI

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

Phn 4

LP TRNH TRONG VI

GV: Nguyn Thanh Tn

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

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

Dataflow
V d: Nt no thc thi trc?
a) Add b) Subtract c) Random Number d) Divide e) Sine

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

Cc kiu d liu trong labVIEW


Terminals: thit b u cui trc quan hin th cc kiu d liu Numeries: kiu d liu s hc hin th cc con s hoc bin s (chn Representation thay i kiu d liu numeric)

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

Cc kiu d liu trong labVIEW


Boolean: kiu True/False, 1/0, ng/sai Boolean: c th l control (Knob, cng tc,..) hay hin th (led,)

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

Cc kiu d liu trong labVIEW


String: mt chui cc hin th hoc khng hin th cc k t ASCII

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

Cc kiu d liu trong labVIEW


Enum bao gm mt cp gi tr, mt chui v mt s, cc Enum c th l mt danh sch c xc nh bng cc gi tr Enum lit k cc control, constant hoc indicator

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

Cc kiu d liu trong labVIEW


Dynamic: kiu d liu ng lu tr cc thng tin c to ra hoc thu thp bi VI Express Nu s dng VI thch hp th labVIEW s t ng chuyn i thnh kiu d liu ng

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

K THUT LP TRNH

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

Th vin trong Block Diagram


Functions\Programming:
Structures: cc cu trc vong lp (while, for, case, sequence, formula, feedback,.) Array: cc kiu trch lc, bin i, to mng, Cluster: cu trc gom nhm (bundle, unbundle,) Numeric: s hc (ton hc, random numer, hng s) Boolean: dng logic (cng, bin i s boolean, .) String: text (string constant, bin i chui,) Comparision: cc hm so snh Timing: hm tr thi gian Dialog & user..: button, thng bo, giao din,. File I/O: c, ghi file trong labVIEW.
GV: Nguyn Thanh Tn

Lp trnh LabVIEW

Th vin trong Block Diagram


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

Lp trnh LabVIEW

Th vin trong Front Panel


Modern:
Numeric: s control, indicator,.. Boolean: logic (SW, button, led,) String & path: text control, text indicator, file path,.. Array, matrix & cluster: mng control, indicator, gom nhm, Graph: th (waveform chart, waveform graph,..)

System / Classic: cc dng control, indicator khc: s hc, boolean, text, button, SW, Express: numeric control, numeric indicator, tex control, text indicator, button& Swithes, led, Graph,..
GV: Nguyn Thanh Tn

Lp trnh LabVIEW

While Loop

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

While Loop
1. Chn While Loop

2. Khoanh vng m mun t trong vong lp

3. Ko th vo vong lp cc nt v sau i dy
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

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

While Loop - Tunnels


Tunnel truyn d liu vo ra cho vong lp D liu vt ra khi vong lp sau khi n chm dt Khi mt ng d liu ni vo Tunnel ca mt vong lp, vong lp ch thc thi sau khi d liu n Tunnel hoc d liu xut ra Tunnel sau khi kt thc vong lp

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

While Loop Error Checking v Error Handling


Dng mt error cluster trong while loop dng vong lp while loop nu xy ra li

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

For Loop

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

For Loop

S ln lp

Bin m

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

For Loops Conditional Terminal


Conditional Terminal: iu kin dng, vong lp For Loop s dng li khi nhn mt Boolean Conditional hoc mt li xy ra

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

For Loops Conditional Terminal


Mt khi vung mu c gn vo ging nh while loop iu kin dng nm gc phi ca vong lp

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

For Loops Numeric Conversion

8 bytes

4 bytes

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

V d

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

So snh For Loop/ While Loop

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

nh thi cho mt VI (Timing)


Ti sao phi nh thi?
Kim sot tn s m ti vong lp thc hin Cung cp ti nguyn cho b vi x l v thi gian hon thnh cc nhim v khc, chng hn nh tc v x l giao din ngi dng

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

Timing Wait Functions


Mt Wait Function trong vong lp cho php VI trng thi Sleep vi thi gian c nh trc Cho php b x l thc hin cc tc v khc trong qu trnh ch i S dng xung ng h ca h iu hnh tnh bng ms

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

Thanh ghi (Shift Registers)


Thc hin vic truyn kt qu vo/ra vong lp hoc t vong lp trc sang vong lp sau

GV: Nguyn Thanh Tn

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

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

Shift Registers

Output=3

Output=5

Output=2

Output=4

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

Stacked Shift Registers


Ngn xp thanh ghi lu tr nhiu gi tr t cc ln lp trc v truyn gi tr ny n ln lp k tip Click chut phi vo thanh ghi dch (Shift register) bn tri v chn Add Element

GV: Nguyn Thanh Tn

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.

GV: Nguyn Thanh Tn

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

GV: Nguyn Thanh Tn

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

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

Cu trc Case
Case Selector Label: cha tn ca trng hin ti

GV: Nguyn Thanh Tn

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

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

Cu trc Case - Default


Nu ng vo khng ri vo bt k trng hp no th cu trc Case s thc hin chng trnh mc nh (default) Nu khng c dy no a vo th cc kiu d liu s c default theo bng sau:

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

Cu trc Case - Boolean


Ng vo l Boolean ch to ra hai trng hp: True hoc False

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

Cu trc Case - Integer


Ta c mi trng hp (case) cho mi s nguyn Nu s nguyn m khng c mt trng hp c xc nh th t ng chn trng hp mc nh

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

Cu trc Case - String


Mi trng hp tng ng vi mt chui nht nh Chui khng xc nh th n s chn trng hp mc nh

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

Cu trc Case - Enum


Cung cp cho ngi dng mt danh sch cc bng ghi chn

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

Cu trc Case Error Checking v Error Handling


S dng cu trc Case trong VI thc thi chng trnh khi khng c li, v b qua chng trnh khi c li pht sinh

GV: Nguyn Thanh Tn

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

Mng s dng mt tp hp cng kiu d liu v cc php ton mang tnh lp li nhiu ln

GV: Nguyn Thanh Tn

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

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

Array Auto Idexing


Khi ch Auto index c m ng ra tunnel, mng ng ra nhn tng phn t mi mi vong Mng to ra lun c kch thc (s phn t) bng vi s ln thc thi ca vong lp Click chut phi ln tunnel v chn enable/disable auto- indexing

GV: Nguyn Thanh Tn

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

GV: Nguyn Thanh Tn

To mng 2D
C th to 2 vong lp For loop lng vo nhau to mng 2D

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

Array

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

Clusters Kiu gom nhm


Clusters l tp hp nhiu kiu d liu khc nhau Dng hm Bundle hoc Unbundle t hp hoc phn gii mt Cluster

GV: Nguyn Thanh Tn

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,

GV: Nguyn Thanh Tn

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

GV: Nguyn Thanh Tn

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

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

MT S K THUT THNG DNG

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

Lp trnh phn on (Sequential Programming)


Cc VI bn vit s c thc hin mt cch tun t Khng c bt k s u tin no trong block diagram, v khng bit c ci no trc ci no sau.

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

Lp trnh phn on (Sequential Programming)


S dng error clusters u tin qu trnh thc thi

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

Lp trnh phn on (Sequential Programming)


S dng cu trc on (Sequence structure) u tin thc thi
Mt cu trc vi cc khung (frames), Mi khung s cha mt tc v Khung th 2 khng th thc thi cho n khi mi th trong khung th nht hon thnh

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

Lp trnh phn on (Sequential Programming)


Trnh s dng qu nhiu cu trc phn on Bn khng th dng thc thi mt thnh phn trong mt on

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

Lp trnh phn on (Sequential Programming)


Cch tt nht vit VI ny l nh km cc hp thoi trong cu trc Case, dy error cluster s c ni ti b chn ca cu trc case(case selectors)

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

Trng thi my (State Machines)


Lp trnh trng thi(State Programming) l mu thit k nhm thc hin mt s trng thi hoc mt lu Khi no s dng state machines? Thng c s dng to cc giao din, i vi mi ngi dng khc nhau th s c giao din khc nhau Thng c s dng th nghim qu trnh, trong mi trng thi i din mi phn on ca qu trnh.
GV: Nguyn Thanh Tn

Lp trnh LabVIEW

Trng thi my (State Machines)


Mt state machine bao gm nhiu trng thi v mt chc nng chuyn tip n cc trng thi k tip Mi trng thi c th dn ti mt hoc trng thi hoc kt thc qu trnh thc thi

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

File I/O
File I/O c v ghi vo mt file Mt phng php in hnh truy xut file:

GV: Nguyn Thanh Tn

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

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

High-level File I/O


High-level VIs
truy xut I/O file phi qua 3 bc chung Khng hiu qu cho vic cu hnh hoc thit k cho cc tnh nng ring ca file

Low-level VIs
VI ring bit cho mi bc Nu ghi file trong mt vong lp, s dng hm low-level file I/O
GV: Nguyn Thanh Tn

Lp trnh LabVIEW

High-Level File I/O


Write to Spreadsheet File Chuyn i mt mng dng double-precision n text string v ghi string ny n ASCII file Read From Spreadsheet File c cc gi tr s theo dong (line) hoc hng (row) t mt text file cha s v xut ra ngoi mt mng 2D array vi cc phn t dng s doubleprecision Write to/Read from Measurement File Mt dng Express VI cho php ghi (write), c (read) mt LVM hay TDMS file
GV: Nguyn Thanh Tn

Lp trnh LabVIEW

Low-Level File I/O VIs

GV: Nguyn Thanh Tn

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

GV: Nguyn Thanh Tn

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

GV: Nguyn Thanh Tn

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

GV: Nguyn Thanh Tn

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

GV: Nguyn Thanh Tn

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

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

Control References

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

Control References

GV: Nguyn Thanh Tn

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

GV: Nguyn Thanh Tn

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:

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

Events Programming

GV: Nguyn Thanh Tn

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

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

USB 6008

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

THANK YOU!

GV: Nguyn Thanh Tn

Lp trnh LabVIEW

You might also like