Curso de LabVIEW Parte I

download Curso de LabVIEW Parte I

of 17

Transcript of Curso de LabVIEW Parte I

  • 8/6/2019 Curso de LabVIEW Parte I

    1/17

    1

    Curso de LabVIEW

    Pedro M. [email protected]

    Parte I 14 de Outubro de 2004

    IST/DEEC

    Instituto Superior Tcnico

    2

    O que o LabVIEW ?

    Linguagem de programao grfica

    desenvolvida pela National Instruments(ni.com) Inclui rotinas para a comunicao com

    dispositivos ligados ao PC (externos atravsde GPIB, RS-232 e internos DAQ, placasdigitais I/O )

    No LabVIEW, o fluxo de dados controla aexecuo (dataflow programming)

  • 8/6/2019 Curso de LabVIEW Parte I

    2/17

    3

    LabVIEW

    Os programas chamam-seVirtualInstruments (VIs) Cada VI pode ser configurado como sub-rotina

    (sub-VI) e ser chamado por outros VIs Cada VI tem um painel frontal (Front Panel),

    um diagrama de blocos (Block Diagram), umcone (Icon) e um terminal de ligaes(Connector Pane) Para construir um VI, seleccionam-se objectosde palettes e usam-se ferramentas para ligarcom fios os objectos e para os modificar

    4

    Ferramentas (Tools )

    Wire

    Operate Value Edit Text

    Scroll Window

    Breakpoint

    Posit ion/Size/Select

    Probe Data

    DICA: Para visualizar esta palette, seleccionar no menu: Window , Show Tools PaletteDICA: Para trocar rapidamente entre ferramentas usar a tecla TABDICA: Usar tecla de ESPAOS para trocar entre Operate & Position no painel frontal e Wire &

    Position no diagrama de blocos

    Automatic Tool Selection

  • 8/6/2019 Curso de LabVIEW Parte I

    3/17

    5

    Painel Frontal (Front Panel) O painel frontal o rosto do programa

    Contm indicadores (sadas) como por exemploindicadores numricos, grficos e LEDs Contm tambm controlos (entradas) como por

    exemplo botes, interruptores e controlos numricos Os controlos e indicadores do painel frontal tm

    uma representao no diagrama de blocos quepermite a sua ligao ao programa

    No entanto, s podem ser apagados no painelfrontalDICA: Por omisso, o painel frontal tem um fundo cinzento

    6

    Painel Frontal(Controls Palette)

    Array/Cluster

    Numeric String and Path

    Graph

    Boolean

    DICA: Para ver esta paletteusar o boto direito do ratoem qualquer zona vazia dopainel frontal

  • 8/6/2019 Curso de LabVIEW Parte I

    4/17

    7

    Palettes

    Cada item de uma palette com umaseta preta no canto superior direitotem uma sub-pallete

    Por exemplo, na palette Controlsexiste uma sub-palette Numeric,onde se podem seleccionar

    diferentes formas de indicadores econtrolos

    8

    Palettes

    Usando o pin presente no cantosuperior esquerdo de cadapalette possvel fixar a palette

    Esta permanecer no mesmolocal depois do rato se terdeslocado

    Facilita a colocao de diversosobjectos da mesma palette

  • 8/6/2019 Curso de LabVIEW Parte I

    5/17

    9

    Painel Frontalcone

    Indicador Boolean(LED)

    ControloNumrico

    IndicadorNumrico

    ControloNumrico

    (Tank)

    ControloBoolean

    ControloArray

    GrficoWaveform

    Botes Run, Run Continuously,Abort e Pause

    10

    Diagrama de Blocos

    no diagrama de blocos (Block Diagram) que aprogramao dos VIs feita

    Todos os objectos presentes no painel frontal (FrontPanel) esto representados no diagrama de blocos

    Os diferentes objectos (controlos, indicadores,funes e VIs) so ligados por fios que gerem o fluxode dados e controlam a ordem de execuo doprograma

    Cada fio s pode ter uma origem (source) mas podemter diversos destinos (sinks)

    DICA: Por omisso, o fundo do diagrama de blocos brancoDICA: Para encontrar um objecto no painel frontal (diagrama de blocos), fazer duplo

    clique sobre a sua representao no diagrama de blocos (painel frontal)

  • 8/6/2019 Curso de LabVIEW Parte I

    6/17

    11

    Dataflow Programming

    Cada funo ou VI s executado quandotodas as entradas so conhecidas No LabVIEW no existem variveis como

    nas linguagens de programao de textoOs fios so as variveis

    A cada fio est associado um tipo dedados (inteiro, boolean, string, etc)

    12

    Diagrama de Blocos (Fios)

    Os fios finos representam variveis escalares,

    enquanto que arrays de uma dimenso sorepresentados por linhas grossas e arrays deduas dimenses por linhas paralelas

    Os dados numricos so representados por fioslaranja (reais) e azuis (inteiros)

    Booleans so verdes e as strings so rosa

    Waveforms so trilhos vermelhos Clusters so trilhos rosa

  • 8/6/2019 Curso de LabVIEW Parte I

    7/17

    13

    Diagrama de Blocos(Functions Palette)

    String

    Structures Boolean

    Cluster

    Comparison

    Data Acquisition

    Instrument I/ O

    Array

    Numeric

    Fi le I/ O

    Analyze

    Waveform

    Mathematics

    DICA: Para mostrar estapalette usar o boto direitodo rato em qualquer reavazia do diagrama de blocos

    14

    Block Diagram

    Indicador

    ControlosNumricos

    BuildArray

    Funesnumricas

    bsicas

    Boto Highlight Execution

    Constante

    IndicadorMean VI

  • 8/6/2019 Curso de LabVIEW Parte I

    8/17

    15

    HELP

    Ctrl+H activa Context Help Sempre que o rato passa por cima de umVI, a janela Context Help mostra o seucone, nome, entradas sadas, descriodo VI e um link para o HELP total

    USEM ESTA FUNCIONALIDADE !!!

    16

    Controlos/ Indicadores Numricos

    O tipo por omisso inteiro (I32) ou double (DBL) Para mudar o tipo, clicar com boto direito do rato

    e seleccionar Representation Para alterar a forma como os nmeros so

    apresentados, clicar com o boto direito do ratono objecto e seleccionar Format & Precision

  • 8/6/2019 Curso de LabVIEW Parte I

    9/17

    17

    Controlos

    Quando um VI aberto, os controlos assumemo seu valor por omisso (default value) Para mudar estes valores basta modificar o

    valor no controlo e depois com o boto direitodo rato seleccionar

    Data Operat ions Make Current Value Defau lt

    Para manter estes valores, basta gravar o VI

    18

    Criao de VIs

    Normalmente comea-se por adicionar controlose indicadores no painel frontal e depois nosdiagrama de blocos adicionam-se sub-VIs,funes e as correspondentes ligaes com fios

    Os fios que ficam a tracejado representam erros Quando um VI tem erros no pode ser executado

    e o boto RUN fica quebrado Para obter uma descrio dos erros usar este

    botoDICA: Crtl+B elimina todos os fios a tracejadoDICA: Crtl+E troca entre o painel frontal e o diagrama de blocos

  • 8/6/2019 Curso de LabVIEW Parte I

    10/17

    19

    Criao de VIs

    Outra forma de criar VIs consiste em colocar asfunes e VIs a usar no diagrama de blocos,liga-los e criar os controlos/indicadores usando oboto direito do rato nos respectivos fios outerminais e seleccionando CreateControl/Indicator/Constant

    Como exemplo, vamos criar um VI paraconverter graus Celsius para graus Fahrenheit

    20

    Criao de VIs - Exemplo

    T[F]=32+1.8 T[C]

  • 8/6/2019 Curso de LabVIEW Parte I

    11/17

    21

    Definio de VIs como subVIs

    subVIs so VIs com entradas e sadasdefinidas de modo a serem usadosdentro de outros VIs

    Por exemplo, definindo a temperaturaem Celsius como uma entrada e atemperatura em Fahrenheit como umasada, o VI anterior pode ser chamado por

    outros Vis Este VI continua a poder ser usado sozinho Para introduzir um subVI usar Select a VI

    22

    cone / Terminal de Ligaes

    O cone o smbolo grfico que

    representa o VI quando ele usado comosubVI noutro VI O terminal de ligaes (Connector Pane)

    define quais so as entradas (controlos) esadas (indicadores) do VI para que sejausado como subVI

    DICA: Para editar o cone fazer duplo-clique com o rato sobre o cone

  • 8/6/2019 Curso de LabVIEW Parte I

    12/17

    23

    Definio de VIs como subVIs

    A definio das entradas e sadas feitano terminal de ligaes que acedido nopainel frontal usando o boto direito dorato no cone e seleccionando ShowConnector

    Depois ligam-se as entradas (lado

    esquerdo) aos controlos e as sadas (ladodireito) aos indicadoresDICA: Usando o boto direito do rato no terminal possvel

    adicionar ou remover terminais ou seleccionar outrospadres pr-definidos

    24

    Definio de VIs como subVIs

    Podem ser criados subVIs a partir de seces de VIs

    Selecciona-se a rea que contm os objectos(fios, funes, controlos, indicadores e VIs) eescolhe-se Edit/ Create subVI do menu

    Os fios que entram (saem) na rea so transformadosem controlos (indicadores) e so usados comoentradas (sadas) do subVI

    Todos os controlos (indicadores) presentes na reaso convertidos em entradas (sadas) do subVI

  • 8/6/2019 Curso de LabVIEW Parte I

    13/17

    25

    Formula Node

    Funes com uma ou mais entradas/sadasdescritas por uma frmula algbrica Usadas para simplificar os diagramas Cada linha da frmula acaba com ;

    DICA: Para uma entrada e uma sada usar um Expression Node

    26

    Ciclos (Loops)

    Existem dois tipos bsicos de ciclos noLabVIEW: While e For

    No ciclo While o diagrama localizado dentrodo ciclo executado at que uma condiose verifique (ou se deixe de verificar)

    No ciclo For o diagrama executado umnmero definido de vezes

    Em ambos os casos existe um terminal i

    que corresponde ao nmero da iterao(comea em 0)

  • 8/6/2019 Curso de LabVIEW Parte I

    14/17

  • 8/6/2019 Curso de LabVIEW Parte I

    15/17

    29

    Shift Registers

    So usados para passar valores entre iteraesTerminalde ShiftRegister

    DICA: Para adicionar um shift register, clicar com boto direito do rato sobre aframe do For ou While e seleccionarAdd Shift Register

    30

    Estrutura Case

    A varivel que controla o Case ligada ao

    Selector Terminal. S um dos diagramas doCase ser executado, dependendo do valor davarivel

    A varivel pode ser Boolean, numrica oustring

    Existe sempre um diagrama que executadopara as situaes no previstas

    As variveis de sada tm de ser ligadas emtodos os diagramas

  • 8/6/2019 Curso de LabVIEW Parte I

    16/17

    31

    Exemplo da Estrutura Case

    T[C]=(T[F] 32 )/ 1.8 T[F]=32+1.8 T[C]

    32

    Estrutura Sequncia (Sequence)

    Usada para garantir a execuo sequencialde diversos diagramas

    Cada diagrama colocado numa framenumerada (0..x)

    As frames podem ser duplicadas, apagadasou reordenadas (boto direito sobre onmero da frame)

    Valores das frames anteriores podem serpassados para frames seguintes usandoSequence Locals

  • 8/6/2019 Curso de LabVIEW Parte I

    17/17

    33

    Exemplo da Estrutura Sequncia