LẬP TRÌNH labVIEW CƠ BẢN.pdf

Embed Size (px)

Citation preview

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    1/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Hc phn

    LP TRNH labVIEW C BN

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    2/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    LabVIEW

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    3/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    labVIEW

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    4/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Lp trnh

    B1: Phng php pht trin phn mm

    B2: Xy dng gii thut

    B3: Thit k gii thutB4: Thc thi

    B5: Kim tra

    B6: Bo tr Sa cha

    B7: To d n

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    5/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Ni dung

    1. Thao tc trn labVIEW

    2. K thut g ri (Debug) cho VI

    3. Lp trnh theo Modul

    4. Lp trnh trong VI

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    6/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Phn 1

    THAO TC TRN LABVIEW

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    7/125Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Khi ng LabVIEW

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    8/125Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Giao din labVIEW

    Tham kho

    Thanh menu

    To new VI(Blank VI)

    M file lu

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    9/125Lp trnh LabVIEWGV: Nguyn Thanh Tn

    To mt VI mi

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    10/125Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Thnh phn ca mt VI

    Mt VI trong labVIEW bao gm 3 thnh phn chnh:

    Front panel

    Block Diagram

    Icon/Connector pane

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    11/125Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Virtual Instruments (VIs)

    Giao din chnhControls = Inputs (Vo)

    Indicators = Outputs (Ra)

    Biu khi

    Cc khi chng trnh ca giao din chnh

    Cc thnh phn i dy.

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    12/125Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Icon/Connector pane

    Icon: biu tng ca mt VIhay mt subVIConnector pane: Bn ch th cc input v outputca mt VI

    Icon/Connector pane rt cn thit cho mt VI cngnh subVI

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    13/125Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Giao din lp trnh

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    14/125Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Giao din lp trnh

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    15/125Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Thanh cng c

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    16/125Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Bng cng c

    LabVIEW t ng chn nhng cng c cn thit.Hin th trn Front panel v trn biu thit lp

    h thng.

    S dng cc cng c to v chnh sa giao dnchnh v cc i tng ca biu khi

    Hin th bng cng c (Tools Palette), chn

    ViewShow Tools Palette

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    17/125Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Front panel

    Lp trnh:1. Thc hin to lnh chng trnh

    bng cch nhp chut phi (lycc control v indicator)

    2. Chn cc i tng ph hp3. Ko v th i tng trong khung

    lnh

    1

    2

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    18/125Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Front panel

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    19/125Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Front panel

    -To cc lnh trn FP-Thay i nhn, chnh text v nh dng-Thay i c tnh i tng

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    20/125Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Block diagram

    Functions (Hm) nm trongBlock Diagram

    Nhm to chng trnh honchnh

    V d:While loop, For Loop

    Whileroom is active

    door is open

    Loop

    Webcam

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    21/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Block diagram

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    22/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Block diagram

    1 Cc lin kt vi FP2 ng lnh: Truyn d liu (Wires)

    3 Cc giao im trn mi i tng (Nodes)

    4. Dng d liu ca i tng1

    4

    23

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    23/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Kiu d liu trn Block Diagram

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    24/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Block diagram

    Chc nng t sp xpcc ng dy gn gng

    Nhn t hp Ctrl+B xacc ng dy b t

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    25/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Terminals trong Block Diagram

    Terminal l i tng tn ti trong Block Diagramln Front panel

    Lun tn ti cc ng vo ra truyn thng giaFront panel v Block Diagram

    Thay i kiu hin th ca cc terminals bng cchnhp phi chut v chn View as Icon

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    26/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Block Diagram

    Function NodesPhn t hot ng ch yu ca labVIEW

    C nn mu vng nht

    Khng tn ti trong Front Panel

    subVI Nodes:

    subVI l nhng VI c to ra s dng cho nhng VIkhc

    subVI cha Front Panel v Block Diagram ring ca nVI Express

    L kiu t bit ca subVI

    Nn mu xanh

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    27/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    So snh

    Front panel Cha cc biu tng iukhin v hin th (giao dinngi dng)

    Truy cp Control Palette(chut phi)

    Bao gm cc control vIndicator

    Block Diagram Chc code chng trnh(lp trnh)

    Truy cp Function Palette(chut phi)

    Bao gm cc terminals, VIs,subVIs, functions,

    constants, Structures,

    wires,.

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    28/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Tm kim v Help

    Tm Controls, Functions, Vis s dng nt Searchtrn Controls v Functions palette

    Chn Help>>Show Context Help (Ctrl+H) hocnhp vo biu tng

    Help: Search the labVIEW Help, NI Example Finder,hin th cc thng tin c bn v i tng labVIEW

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    29/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Phn 2

    K THUT G RI (DEBUG)

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    30/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Vn thng gp

    Dy b t (ni dy b sai kiu d liu hoc kiuvo/ra)

    Mt terminal trn Block Diagram khng c ni

    dyMt subVI b hng hoc do ngi dng sa i

    cc Connector pane

    D liu ang s dng mc nh khng chnh xc

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    31/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    DEBUG

    1. Execution Highlighting c s dng xemcc lung d liu chy trn Block Diagram

    2. Single Stepping

    Single-step: chy xuyn qua VI xem kt qu

    hot ng ca mi VI trn Block Diagram Tm dng thc thi mt subVI chnh sa gi tr

    cc Control v Indicator

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    32/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    DEBUG

    3. Probes quan st cc gi tr v d liu tc th kim tra li ng ra ca VI v function

    4. Gi li gi tr trong cc dy c th quan st d

    liu trn dy sau khi thc hin xong

    5. Breakpoint: VI s tm dng v nt Pause s xut

    hin mu ti v tr Breakpoint.

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    33/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Phn 3

    LP TRNH THEO MODUL

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    34/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    subVIs

    Mt VI trong mt VI khc gi l subVI

    Mt subVI xem nh mt chng trnh con trongngn ng dng text

    Gc bn phi ca front panel v block diagram hinth Icon ca subVI

    Icon xc nh cc VI khi bn t n trn s khi

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    35/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    subVIs

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    36/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    subVIs

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    37/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    subVIs

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    38/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Icon ca subVI

    Ta c th to v ty chnh Icon bng cch nhpchut phi vo biu tng gc trn bn phi cafront panel hoc block diagram v chn Edit icon

    Nhp chut phi vo biu tng gc trn bn

    phi ca front panel v chn Show connectorxc nh cc terminal vo/ra cho subVI

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    39/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

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

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    40/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    To Icon

    Icon: biu tng miu t gi nh ca mt VIClick chut phi ln Icon pane (Panel hocDiagram) gc ca s v chn Edit icon

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    41/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    To Connector Pane

    Connector pane : bn ch th cc input v outputca mt VI

    Nhp chut phi vo biu tng gc trn bnphi ca front panel v chn Show connector

    xc nh cc terminal vo ra

    Chn im

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    42/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Tr gip v phn loi u cui

    Phn loi u vo/ra:

    Required Li nu khng kt ni

    Recommended Cnh bo nu khng kt ni

    Optional Khng c tc dng nu khng kt ni

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    43/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Tr gip v phn loi u cui

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    44/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    S dng subVIs

    t subVI trn block diagram:Click chn mt VI trn Function palette

    Di chuyn n VI bn mun s dng nh mt subVI

    Double click ln n t trong Block diagram

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

    Click vo biu tng ca VI bn mun s dng nh mtsubVI

    Ko biu tng (Icon) cho vo Block diagram ca VI khc

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    45/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    To mt subVI

    Chn phn no mun a vo subVI

    Chn Edit>> Create SubVI

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    46/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Phn 4

    LP TRNH TRONG VI

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    47/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Dataflow

    LabVIEW hot ng theo kiu dataflow thc thicc chng trnh trong VI

    Block diagram thc thi ph thuc vo lung d liuth Block diagram s KHNG thc thi t tri qua

    phiMt nt ch c th thc hin khi d liu c snti tt c cc u vo ca n

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    48/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Dataflow

    V d:Nt no thc thi trc?

    a) Add

    b) Subtract

    c) Random Number

    d) Dividee) Sine

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    49/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Cc kiu d liu trong labVIEW

    Terminals: thit b u cui trc quan hin th cckiu d liu

    Numeries: kiu d liu s hc hin th cc con shoc bin s (chn Representation thay i kiu

    d liu numeric)

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    50/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Cc kiu d liu trong labVIEW

    Boolean: kiu True/False, 1/0, ng/sai

    Boolean: c th l control (Knob, cng tc,..) hayhin th (led,)

    C

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    51/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Cc kiu d liu trong labVIEW

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

    C ki d li l bVIEW

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    52/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Cc kiu d liu trong labVIEW

    Enum bao gm mt cp gi tr, mt chui v mt s,cc Enum c th l mt danh sch c xc nhbng cc gi tr

    Enum lit k cc control, constant hoc indicator

    C ki d li t l bVIEW

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    53/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Cc kiu d liu trong labVIEW

    Dynamic: kiu d liu ng lu tr cc thng tinc to ra hoc thu thp bi VI Express

    Nu s dng VI thch hp th labVIEW s t ng

    chuyn i thnh kiu d liu ng

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    54/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    K THUT LP TRNH

    Th i t Bl k Di

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    55/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Th vin trong Block Diagram

    Functions\Programming:Structures: cc cu trc vng lp (while, for, case,sequence, formula, feedback,.)

    Array: cc kiu trch lc, bin i, to mng,Cluster: cu trc gom nhm (bundle, unbundle,)

    Numeric: s hc (ton hc, random numer, hng s)Boolean: dng logic (cng, bin i sboolean, .)String: text (string constant, bin i chui,)Comparision: cc hm so snhTiming: hm tr thi gianDialog & user..: button, thng bo, giao din,.File I/O: c, ghi file trong labVIEW.

    Th i t Bl k Di

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    56/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Th vin trong Block Diagram

    Measurement I/O: DAQmxData Acquisiton (thuthp d liu): DAQ Assistant

    Instrument I/O: thu thp d liu qua cc giao tipni tip,

    Mathematics: cc hm ton hc, tn hiu (sin,cos...)Signal Processing: tn hiu m phng, dng sng, th, lc, ph,.

    Express: Input (DAQ, scope, simulate sig), signalanalysis, output, Merge signals, Arithmatic &

    comparision, Timing, Structure,

    Th i t F t P l

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    57/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Th vin trong Front Panel

    Modern:

    Numeric: s control, indicator,..

    Boolean: logic (SW, button, led,)

    String & path: text control, text indicator, file path,..

    Array, matrix & cluster: mng control, indicator, gomnhm,

    Graph: th (waveform chart, waveform graph,..)

    System / Classic: cc dng control, indicator khc:

    s hc, boolean, text, button, SW,Express: numeric control, numeric indicator, tex

    control, text indicator, button& Swithes, led, Graph,..

    While Loop

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    58/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    While Loop

    Whil L

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    59/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    While Loop

    1. Chn While Loop

    2. Khoanh vng m mun

    t trong vng lp

    3. Ko th vo vng lpcc nt v sau i dy

    Whil L

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    60/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    While Loop

    Bin m (Interation terminal): tr v s ln lp thc hin, bt u t zero-0

    iu kin kt thc (conditional terminal): xc nhkhi vng lp dng

    While Loop T nnels

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    61/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    While Loop - Tunnels

    Tunneltruyn d liu vo ra cho vng lp

    D liu vt ra khi vng lp sau khi n chm dt

    Khi mt ng d liu ni vo Tunnel ca mt vnglp, vng lp ch thc thi sau khi d liu n Tunnel

    hoc d liu xut ra Tunnel sau khi kt thc vnglp

    While LoopError Checking v Error

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    62/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    p g

    Handling

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

    For Loop

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    63/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    For Loop

    For Loop

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    64/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    For Loop

    Slnlp

    Binm

    For Loops Conditional Terminal

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    65/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    For LoopsConditional Terminal

    Conditional Terminal: iu kin dng, vng lp ForLoop s dng li khi nhn mt Boolean Conditionalhoc mt li xy ra

    For Loops Conditional Terminal

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    66/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    For LoopsConditional Terminal

    Mt khi vung mu c gn vo ging nhwhile loop

    iu kin dng nm gc phi ca vng lp

    For Loops Numeric Conversion

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    67/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    For LoopsNumeric Conversion

    8 bytes 4 bytes

    V d

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    68/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    V d

    So snh For Loop/ While Loop

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    69/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    So snh For Loop/ While Loop

    nh thi cho mt VI (Timing)

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    70/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    nh thi cho mt VI (Timing)

    Ti sao phi nh thi?Kim sot tn s m ti vng lp thc hin

    Cung cp ti nguyn cho b vi x l v thi gian honthnh cc nhim v khc, chng hn nh tc v x l giaodin ngi dng

    Timing Wait Functions

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    71/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    TimingWait Functions

    Mt Wait Function trong vng lp cho php VI trng thi Sleep vi thi gian c nh trc

    Cho php b x l thc hin cc tc v khc trongqu trnh ch i

    S dng xung ng h ca h iu hnh tnh bngms

    Thanh ghi (Shift Registers)

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    72/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Thanh ghi (Shift Registers)

    Thc hin vic truyn kt qu vo/ra vng lp hoct vng lp trc sang vng lp sau

    Shift Registers

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    73/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Shift Registers

    Click chut phi vo khung vng lp v chn AddShift RegisterThanh ghi dch bn phi s lu tr kt qu sau miln lp

    Thanh ghi dch bn tri s cung cp d liu cho lnlp tip theo

    Shift Registers

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    74/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Shift Registers

    ? ?

    ? ?Output=2 Output=4

    Output=3 Output=5

    Stacked Shift Registers

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    75/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Stacked Shift Registers

    Ngn xp thanh ghi lu tr nhiu gi tr t cc lnlp trc v truyn gi tr ny n ln lp k tip

    Click chut phi vo thanh ghi dch (Shift register)bn tri v chn Add Element

    Nt phn hi

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    76/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Nt phn hi

    S xut hin t ng trong vng lp For hoc Whilenu nh bn i dy u ra ca mt subVI,function, hoc group ca subVI v functions ti uvo ca VI tng ng, function, hoc group.

    D liu lu tr khi m hon tt mt vng lp, gid liu ti vng lp k tip v truyn i mi kiu dliu.

    Nt phn hi

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    77/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Nt phn hi

    i dy t u ra ti u

    vo c t ng to ra

    mt nt phn hi

    t mt nt phnhi t bng Functions

    Structures

    Cu trc Case

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    78/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Cu trc Case

    Thc hin v hin th ch c mt trng hp hocmt s con trong mt thi im

    Ng vo s xc nh cho php trng hp no hays no c thc thi

    Cu trc Case cng tng t nh cu trcIf..then..elsetrong cc ngn ng lp trnh dng text

    Cu trc Case

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    79/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Cu trc Case

    Case Selector Label: cha tn ca trng hin ti

    Cu trc Case

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    80/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Cu trc Case

    u vo lun c sn cho tt c cc trng hp

    Phi xc nh mi u ra tunnel cho mi trnghp

    Cu trc Case - Default

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    81/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Cu trc Case Default

    Nu ng vo khng ri vo bt k trng hp noth cu trc Case s thc hin chng trnh mcnh (default)

    Nu khng c dy no a vo th cc kiu d liu

    s c default theo bng sau:

    Cu trc Case - Boolean

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    82/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Cu trc Case Boolean

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

    Cu trc Case - Integer

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    83/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Cu trc Case Integer

    Ta c mi trng hp (case) cho mi s nguyn

    Nu s nguyn m khng c mt trng hp cxc nh th t ng chn trng hp mc nh

    Cu trc Case - String

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    84/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Cu trc Case String

    Mi trng hp tng ng vi mt chui nht nh

    Chui khng xc nh th n s chn trng hpmc nh

    Cu trc Case - Enum

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    85/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Cu trc Case Enum

    Cung cp cho ngi dng mt danh sch cc bngghi chn

    Cu trc Case Error Checking vE H dli

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    86/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Error Handling

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

    Mng (Arrays)

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    87/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Mng (Arrays)

    Mt mng (Array) c trng bi kch thc v phnt trong n

    Phn t (Element): d liu nm trong mng

    Kch thc: chiu di v chiu rng, ct x hng y

    Mng c th c mt hoc nhiu chiu v c (2^31-1)phn t trn mi chiu

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

    To mng

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    88/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    To mng

    1. t mt mng trng (array shell) ln front panel

    2. Ko hoc th i tng hoc phn t vo arrayshell

    3. V d: mng hng

    ArrayAuto Idexing

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    89/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    ay uto de g

    Khi ch Auto index c m ng ra tunnel,mng ng ra nhn tng phn t mi mi vng

    Mng to ra lun c kch thc (s phn t) bngvi s ln thc thi ca vng lp

    Click chut phi ln tunnel v chn enable/disableauto - indexing

    Mng 2D

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    90/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    g

    Lu tr cc phn t dng li

    to mng a chiu: click chut phi vo indexdisplay v chn Add Dimention

    Mng chakhi to

    Mng khito gi tr ban

    u

    To mng 2D

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    91/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    g

    C th to 2 vng lp For loop lng vo nhau to

    mng 2D

    Array

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    92/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    y

    ClustersKiu gom nhm

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    93/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    g

    Clusters l tp hp nhiu kiu d liu khc nhau

    Dng hm Bundle hoc Unbundle t hp hocphn gii mt Cluster

    To mt Cluster

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    94/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    to mt Cluster control hoc indicator trn frontpanel:

    t mt cluster shell trn front panel

    Ko th cc i tng hoc phn t vo cluster shell nh:numeric, boolean, string, path, refnum, array,

    Error Cluster

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    95/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    LabVIEW s dng error cluster chc thng tin li

    Mt error cluster cha cc phn t sau:Status: kiu boolean, tr v True nu khng c li vngc li

    Code: kiu 32 bits Signed integer xc nh m liSource: kiu string xc nh ni b li

    So snh vi Array

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    96/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    y

    Ging nhau: c control hoc indicator nhng ng

    thi khng cha c hai

    Cluster c kch thc thay i so vi kch thc cnh ca array

    Cluster cha nhiu kiu d liu khc nhau; cnarray ch cha mt kiu d liu duy nht

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    97/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    MT S K THUTTHNG DNG

    Lp trnh phn on (SequentialProgramming)

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    98/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Programming)

    Cc VI bnvitsc thchinmtcch tun

    t

    Khng c bt k s u tin no trong blockdiagram, v khng bitcci no trcci no

    sau.

    Lp trnh phn on (SequentialProgramming)

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    99/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Programming)

    S dng error clusters u tin qu trnh thc thi

    Lp trnh phn on (SequentialProgramming)

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    100/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Programming)

    S dng cu trc on (Sequence structure) u

    tin thc thiMt cu trc vi cc khung (frames), Mi khung s cha

    mt tc v

    Khung th 2 khng th thc thi cho n khi mi th trongkhung th nht hon thnh

    Lp trnh phn on (SequentialProgramming)

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    101/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Programming)

    Trnh s dng qu nhiu cu trc phn on

    Bn khng th dng thc thi mt thnh phn trongmt on

    Lp trnh phn on (SequentialProgramming)

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    102/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Programming)

    Cch tt nht vit VI ny l nh km cc hp

    thoi trong cu trc Case, dy error cluster sc ni ti b chn ca cu trc case(caseselectors)

    Trng thi my (State Machines)

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    103/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Lp trnh trng thi(State Programming) l mu

    thit k nhm thc hin mt s trng thi hocmt lu

    Khi no s dng state machines?

    Thng c s dng to cc giao din, i vimi ngi dng khc nhau th s c giao din khcnhau

    Thng c s dng th nghim qu trnh,trong mi trng thi i din mi phn on caqu trnh.

    Trng thi my (State Machines)

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    104/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Mt state machine bao gm nhiu trng thi v

    mt chc nng chuyn tip n cc trng thi ktip

    Mi trng thi c th dn ti mt hoc trng thi

    hoc kt thc qu trnh thc thi

    File I/O

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    105/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    File I/O c v ghi vo mt file

    Mt phng php in hnh truy xut file:

    nh dng File(File Formats)

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    106/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    (File Formats)

    LabVIEW c th s dng hoc to ra cc nh

    dng tp tin sau y:Binaryl kiu nh dng cp thp cho tt c cc

    nh dng khc s dng

    ASCIIL kiu t bit ca binary file, l nh dngtiu chun cho hu ht tt c chng trnh

    LVMLabVIEW measurement data file (.lvm)nhdng ca LabVIEW, cha bn tnh v vn bn

    TDMSMt kiu file Binary c to bi cc snphm ca NI bao gm 2 file tch ri: Mt binary filev mt binary index file

    nh dng File(File Formats)

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    107/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    (File Formats)

    Trong phn ny, tp trung vo vic to text

    (ASCII) filesS dng cc Text file trong cc tnh hung sauy :

    Truy xut cc tp tin t cc ng dng khc Khng quan tm n b nh trng, v tc I/Oca file

    Khng nn truy xut dng random read hocwrite

    High-level File I/O

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    108/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    High-level VIs truy xut I/O file phi qua 3 bc chungKhng hiu qu cho vic cu hnh hoc thit k cho cc

    tnh nng ring ca file

    Low-level VIsVI ring bit cho mi bcNu ghi file trong mt vng lp, s dng hm low-level

    file I/O

    High-Level File I/O

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    109/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Write to Spreadsheet File

    Chuyn i mt mng dng double-precision ntext string v ghi string ny n ASCII file

    Read From Spreadsheet File

    c cc gi tr s theo dng (line) hoc hng(row) t mt text file cha s v xut ra ngoi mtmng 2D array vi cc phn t dng s double-precision

    Write to/Read from Measurement File

    Mt dng Express VI cho php ghi (write), c(read) mt LVM hay TDMS file

    Low-Level File I/O VIs

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    110/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Variable

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    111/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Cannot pass data between parallel loops with a

    wire

    Variables allow you to circumvent normal dataflow

    by passing data from one place to another without

    connecting the two places with a wire

    Variable

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    112/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Variables are block diagram elements that allow

    you to access or store data in another location

    Variables can be of the following types:

    Local: store data in front panel controls and

    indicators Global: store data in special repositoriesthat can be accessed from multiple VIs

    Functional Global: store data in While Loop shiftregisters

    Shared: transfers data between various distributedtargets connected together over a network

    Local Variable

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    113/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Use local variables to pass data within a single VI

    Global Variable

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    114/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Use a global variable or a single process shared

    variable to share data between multiple VIs

    Use a global variable to share data among VIs on

    the same computer, especially if you do not use a

    project fileUse a single process shared variable if you may

    need to share the variable information among VIs

    on multiple computers in the future

    Property Node

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    115/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Property Nodes access the properties of an object

    In some applications, you might want to modify the

    appearance of front panel objects programmatically

    in response to certain inputs

    If a user enters an invalid password, you might wanta red LED to start blinking

    If a data point is above a certain value, you mightwant to show a red trace instead of a green one

    Property Nodes allow you to make these

    modifications programmatically

    Property Node

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    116/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Property Nodes execute in order from top to bottom

    If an error occurs on a terminal, the node stops at

    that terminal, returns an error, and does not execute

    any further terminals

    Control References

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    117/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    A control reference is a reference to a front panel

    object

    Wire control references to generic Property Nodes

    Pass control references to subVI

    Control References

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    118/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Control References

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    119/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Invoke Nodes

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    120/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Invoke Nodes access the methods of an object

    Use the Invoke Node to perform actions, or

    methods, on an application or VI

    Unlike the Property Node, a single Invoke Node

    executes only a single method on an application orVI

    Invoke Nodes

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    121/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    To create an implicitly-linked Invoke Node, right-

    click the control and select CreateInvoke Nodeand choose a method

    An example of a method that is common to all

    controls is the Reinitialize to Default methodThe Waveform Graph has the method Export

    Image:

    Events Programming

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    122/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Events Programming

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    123/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

    Examples of User Interface (Static) Events

    Pressing a button on the mouse, moves or clicks themouse

    Pressing a key on the keyboard

    Value (Signaling) Property can generate aprogrammatic event

    USB 6008

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    124/125

    Lp trnh LabVIEWGV: Nguyn Thanh Tn

  • 7/21/2019 LP TRNH labVIEW C BN.pdf

    125/125

    THANK YOU!