introducao_labview

Embed Size (px)

DESCRIPTION

dfsdfasdfadfaqerqwe

Citation preview

  • Universidade Federal de Gois

    Escola de Engenharia Eltrica

    Mestrado em Engenharia Eltrica e de Computao

    Ncleo de Estudo e Pesquisa em Processamento da Energia e Qualidade - PEQ

    Prof. Adalberto Jos Batista, D.Sc.

    Introduo ao LabVIEW

    Edgar Martins Moura Maia

    Goinia, abril de 2002

  • Sumrio

    184.1.1. Mostrando e Ocultando Elementos Opcionais . . . . . . . . . . . . . . . . . . . . . .

    184. Construindo o Painel Frontal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    163.6.2.1. Como o LabVIEW Armazena as Opes . . . . . . . . . . . . . . . . . . . . . . .

    163.6.2. Configurando as Opes de Ambiente . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    163.6.1.4. Representando Conjuntos de Ferramentas nas Paletas . . . . . . . . . .

    163.6.1.3. Construindo Subpaletas ActiveX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    153.6.1.2. Criando e Editando a Visualizao das Paletas . . . . . . . . . . . . . . . . .

    143.6.1.1. Adicionando Vis e Controles s Bibliotecas de Usurio e

    de Instrumentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    133.5.3. Barra de Ferramentas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    133.5.2. Menus de Atalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    133.5.1. Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    123.5. Menus e Barras de Ferramentas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    123.4. A Paleta de Ferramentas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    113.3. Comandando as Paletas de Controles e de Funes . . . . . . . . . . . . . . . . . . .

    103.2. A Paleta de Funes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    103.1. A Paleta de Controles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    103. O Ambiente LabVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    82.4. Usando e Adaptando VIs e SubVIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    72.2.4. Estruturas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    72.2.3. Fios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    72.2.2. Ns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    62.2.1. Terminais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    52.2. O Diagrama de Blocos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    52.1. O Painel Frontal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    32. Introduo aos Instrumentos Virtuais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    11. Introduo Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    vindice de Tabelas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    ivndice de Figuras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    i

  • 325.3. Funes - Viso Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    315.2.3. Ns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    305.2.2.2. Constantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    295.2.2.1. Tipos de Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    285.2.2. Terminais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    275.2.1. Fios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    275.2. Objetos do Diagrama de Blocos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    275.1. Relacionamento Painel Frontal e Diagrama de Blocos . . . . . . . . . . . . . . . . . .

    275. Construindo o Diagrama de Blocos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    264.5. Projetando Interfaces de Usurio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    264.4. Caractersticas de Texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    254.3. Rotulao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    254.2.11. Controles Tipo Dilogo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    244.2.10. Referncias a Objetos ou Aplicaes . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    244.2.9. Objetos para Gerenciamento de Entrada e Sada . . . . . . . . . . . . . . . . . . .

    244.2.8. Objetos Tipo Anel e Enumerados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    234.2.7. Caixas de Listagem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    234.2.6. Controles e Indicadores Tipo Aba . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    234.2.5. Objetos Tipo Grupo e Vetor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    234.2.4. Caixas de Texto, Letreiros e Mostradores de Caminho . . . . . . . . . . . . . .

    224.2.3. Botes, Chaves e Luzes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    214.2.2. Slides, Knobs, Dials, e Mostradores Digitais . . . . . . . . . . . . . . . . . . . . . . .

    214.2.1. Objetos em 3D e Clssicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    214.2. Controles e Indicadores do Painel Frontal . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    204.1.8. Adicionando Espao no Painel Frontal . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    204.1.7. Proporcionalidade de Objetos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    204.1.6. Redimensionando Objetos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    194.1.5. Agrupamento e Bloqueio de Objetos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    194.1.4. Usando Grficos Importados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    194.1.3. Substituindo Objetos do Painel Frontal . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    184.1.2. Alternando entre Controles e Indicadores . . . . . . . . . . . . . . . . . . . . . . . . . .

    ii

  • 70ndice Remissivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    69Bibliografia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    64Apndice B - O IEEE 488.2 e o SCPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    53Apndice A - IEEE 488: GPIB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    527.4. Disponibilizao de VIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    517.3. Armazenando VIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    507.2.6. Hierarquia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    507.2.5. Projetando subVIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    497.2.4. Criao de subVIs por Seleo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    497.2.3. Criao de cones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    477.2.2. Gradao de Exigncias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    467.2.1. Instalao do Painel de Conexo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    467.2. SubVIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    457.1. VIs e Funes Embutidas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    447. Criando VIs e SubVIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    426.1. Tcnicas de Depurao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    416. Executando e Depurando VIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    395.9. Projetando o Diagrama de Blocos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    385.8. Fluxo de Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    385.7. Unidades Numricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    365.6. Manipulao de Dados Variantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    355.5. VIs e Funes Polimrficas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    355.4.3. Pontos de Compatibilidade por Converso . . . . . . . . . . . . . . . . . . . . . . . . .

    355.4.2. Remoo de Fios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    345.4.1. Conexo Automtica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    345.4. Conectando Objetos do Diagrama de Blocos . . . . . . . . . . . . . . . . . . . . . . . . . .

    iii

  • ndice de Figuras

    58Fig. A.6: A configurao linear e em estrela

    57Fig. A.5: O conector GPIB e seus sinais

    55Fig. A.3: Instrumento IEEE 488

    55Fig. A.2: O endereamento GPIB

    54Fig. A.1: O Conceito do barramento IEEE 488

    49Fig. 7.3: A janela Icon editor

    48Fig. 7.2: A janela Error list, com a caixa Show Warnings selecionada

    47Fig. 7.1: Alinhamento de terminais: 1. imprprio; 2. apropriado

    42Fig. 6.2: Os botes Broken e Warning

    41Fig. 6.1: Os botes Run, Run Continuously, Abort Execution,

    Pause/Continue, Highlight Execution e os trs de controle

    passo-a-passo: Step Into, Step Over, e Step Out

    32Fig. 5.2: A paleta Functions

    28Fig. 5.1: Os fios: exemplos de cores e espessuras

    26Fig. 4.1: Barra de ferramentas do LabVIEW

    12Fig. 3.3: A paleta Tools

    11Fig. 3.2: A paleta Functions

    10Fig. 3.1: A paleta Controls

    8Fig. 2.3: O cone default, e um painel de conexo

    6Fig. 2.2. Exemplo de um diagrama de blocos e correspondente

    painel frontal

    5Fig. 2.1. Exemplo de um painel frontal

    iv

  • 63Fig. B.1: O SCPI - modelo de instrumento

    63Fig. A.7: Exemplo de utilizao do GPIB no LAbVIEW. O VI est

    expandido para mostrar o contedo dos quadros e dos

    casos

    v

  • ndice de Tabelas

    62Tab. A.3: Comandos Comuns 488.2

    60Tab. A.2: Mensagens e endereos de interfaceamento 488.1

    56Tab. A.1: Caractersticas eltricas do padro IEEE 488

    29Tab. 5.1: Terminais de Controle e Indicao

    4Tab. 2.1: Comparao entre instrumentao fsica e virtual

    vi

  • 1. Introduo Geral

    LabVIEW uma linguagem de programao grfica que usa cones no

    lugar de linhas de texto para criar aplicaes. Em contraste com as linguagens

    baseadas em texto, onde as instrues determinam a execuo do programa, o

    LabVIEW usa uma programao tipo fluxo de dados, onde este fluxo determina a

    execuo.

    Esta linguagem (acrnimo para Laboratory Virtual Instruments

    Engineering Workbench) foi desenvolvida no final da dcada de 80 pela National

    Instruments, Inc para ambientes de janelas (tipo Windows). Tornou-se popular e

    largamente aceito no meio cientfico e de engenharia, sendo similar a outras

    linguagens grficas oferecidas por outras empresas, como o pacote HP-VEE da

    Hewlett-Packard.

    No LabVIEW, pode-se construir uma interface usufruindo de um

    conjunto de ferramentas e objetos. A interface do usurio conhecida como painel

    frontal. Ento, os cdigos so adicionados usando representaes grficas das

    funes, para controlar os objetos do painel frontal. O diagrama de blocos contm

    este cdigo. De muitas formas, o diagrama de blocos imita um fluxograma. Utiliza-se

    uma linguagem de programao grfica chamada G, mas no necessrio

    conhec-la para usufruir das possibilidades do LabVIEW.

    Pode ser tambm um programa em tempo real (LabVIEW RT), onde a

    aplicao trabalha sem a necessidade de outro sistema operacional, pois vem com

    prprio Kernel, que encarrega-se de administrar os processos computacionais de

    baixo nvel, alm do nvel superior.

    Pode-se adquirir muitos conjuntos de ferramentas para o

    desenvolvimento de aplicaes especficas. Todas estes conjuntos de ferramentas

    integram perfeitamente o LabVIEW. Tambm compatvel com ferramentas de

    desenvolvimento similares e pode trabalhar com programas de outra rea de

    aplicao, como o Matlab.

    Alm de desta facilidade no desenvolvimento de aplicaes

    computacionais, de simples integrao com os componentes fsicos do sistema,

    1

  • especialmente com placas de medio, aquisio e processamento de dados,

    incluindo aquisio de imagens.

    Encontra aplicabilidade em sistemas de medio, como

    monitoramento de processos e aplicaes de controle. muito utilizado no

    processamento digital de sinais (wavelets, FFT, anlise de contedo harmnico

    etc.), em processamento em tempo real de aplicaes biomdicas, na manipulao

    de imagens e udio, automao, no projeto de filtros digitais, gerao de sinais, e

    outras.

    2

  • 2. Introduo aos Instrumentos Virtuais

    A instrumentao sempre se usufruiu da tecnologia eletrnica

    amplamente usada para conduzir sua prpria inovao. O preciso movimento do

    relgio foi primeiramente utilizado para construir medidores analgicos. O capacitor

    varivel, o resistor varivel, e o tubo de vcuo de rdios foram usados para

    promover o comeo da eletrnica de instrumentao. A tecnologia de monitores foi

    levada da televiso para uso em osciloscpios e analisadores.

    Atualmente, a relao custo-benefcio e elevada capacidade dos

    computadores tipo desktop e notebook torna-os a pavimentao do caminho para

    novos tipos de instrumentos, os instrumentos virtuais. Os instrumentos virtuais so

    projetados e construdos pelo usurio, adaptados a necessidades especficas,

    aproveitando-se desta capacidade e baixo custo dos computadores pessoais e

    estaes de trabalho.

    O programa computacional vital para os instrumentos virtuais. O

    aplicativo investe o usurio com as ferramentas necessrias para construir

    instrumentos virtuais e expande sua funcionalidade por prover conectividade com a

    enorme capacidade dos computadores pessoais e estaes de trabalho, como sua

    variedade de aplicaes, flexibilidade, e modularidade, enquanto diminui

    simultaneamente o tempo de desenvolvimento e custo de manuteno. A Tab. 2.1

    apresenta um comparativo entre os instrumentos fsicos e os virtuais.

    3

  • Tab. 2.1: Comparao entre instrumentao fsica e virtual

    O aplicativo computacional minimizaos custos de desenvolvimento emanuteno

    Alto custo de desenvolvimento emanuteno

    Rpida renovao de tecnologia(ciclo de vida de 1 a 2 anos)

    Lenta renovao da tecnologia (ciclo devida entre 5 e 10 anos)

    Aberto, com funcionalidade flexvelacompanhando a tecnologiacomputacional

    Pronto, com funcionalidade fixaBaixo custo, reutilizvelCusto elevado

    O aplicativo computacional vitalOs elementos eletrnicos e mecnicosso vitais

    Orientado aplicao, comconectividade em nvel de rede,perifricos, e aplicaes.

    Especfico em funo, independentecom conectividade limitada

    Definido pelo usurioDefinido por fabricanteInstrumentao VirtualInstrumentao Tradicional

    Os programas LabVIEW so chamados de instrumentos virtuais, ou

    VIs (virtual instruments), pois sua aparncia e operao imita instrumentos reais, tal

    como osciloscpios e multmetros. Todo VI usa funes que manipulam entradas

    da interface de usurio e outras fontes, e mostra esta informao ou a movimenta

    para outros arquivos ou computadores.

    Um VI contm os trs seguintes componentes:

    y Painel frontal - Atua como a interface de usurio;

    y Diagrama de blocos - Contm o cdigo-fonte grfico que define afuncionalidade do VI;

    y cone e painel de conexo - Identifica o VI tal que possa ser usado em outroVI. Um VI dentro de outro VI chamado de subVI. Um subVI corresponde a uma

    subrotina nas linguagens de programao baseadas em texto.

    4

  • 2.1. O Painel Frontal

    O painel frontal a interface de usurio do VI. A Fig. 2.1 mostra um

    exemplo de painel frontal.

    Fig. 2.1. Exemplo de um painel frontal.

    Pode-se construir o painel frontal com controles e indicadores, que so

    os terminais de entrada e sada interativos do VI, respectivamente. Controles so

    botes, chaves, discos de ajuste, e outros dispositivos de entrada. Indicadores so

    grficos, LEDs, e outros mostradores. Os controles simulam dispositivos de entrada

    de instrumentos e fornecem dados ao diagrama de blocos do VI. Os indicadores

    simulam dispositivos de sada de instrumentos e mostram dados que o diagrama de

    blocos adquire ou produz.

    2.2. O Diagrama de Blocos

    Aps construir-se o painel frontal, adiciona-se o cdigo usando as

    representaes grficas das funes para controlar os objetos do painel frontal. O

    diagrama de blocos contm este cdigo-fonte grfico. Os objetos do painel frontal

    5

  • aparecem como terminais no diagrama de blocos. No se pode eliminar um terminal

    a partir do diagrama de blocos. O terminal desaparece somente aps eliminar-se

    seu correspondente objeto do painel frontal.

    O VI na Fig. 2.2 mostra muitos objetos primrios do diagrama de

    blocos: terminais, funes, e fios.

    Fig. 2.2. Exemplo de um diagrama de blocos e correspondente painel frontal.

    2.2.1. Terminais

    Os terminais representam os tipos de dados do controle ou indicador.

    Por exemplo, um terminal DBL (v. Fig. 2.2), representa um controle ou indicador

    numrico de ponto flutuante com dupla preciso.

    Terminais so portas de entrada e sada que transportam informaes

    entre o painel frontal e o diagrama de blocos. Os dados que so colocados nos

    controles no painel frontal vo para o diagrama de blocos atravs dos terminais de

    entrada. Aps completar-se o tratamento contido no diagrama de blocos, o

    6

  • resultado, atravs dos terminais de sada, conduzido aos indicadores no painel

    frontal.

    2.2.2. Ns

    Os ns so objetos no diagrama de blocos que tem entradas e/ou

    sadas e realizam operaes quando o VI executado. Eles so anlogos s

    proposies, operadores, funes, e subrotinas das linguagens de programao

    baseadas em texto.

    2.2.3. Fios

    A transferncia de dados entre os objetos do diagrama de blocos

    feita atravs dos fios. Cada fio tem somente uma fonte de dados, mas pode-se

    lig-lo em muitos VIs ou funes que o tipo de dado que ele conduz. Um fio rompido

    aparece como uma linha preta tracejada.

    2.2.4. Estruturas

    As estruturas so representaes grficas dos laos e proposies

    tipo caso das linguagens de programao baseadas em texto. So usadas no

    diagrama de blocos para repetir blocos de cdigo e para executar cdigos

    condicionalmente ou em ordem especfica.

    2.3. O cone e o Painel de Conexo

    Depois de construir-se o painel frontal e o diagrama de blocos de um

    VI, monta-se o cone e o painel de conexo, tal que possa ser usado como um

    subVI. Todo o VI mostra um cone na extremidade superior direita da janela do

    painel frontal e do diagrama de blocos. Um cone uma representao grfica de

    um VI. Pode conter textos, imagens, ou combinao de ambos. Se um VI usado

    como um subVI, o cone identifica-o no diagrama de blocos.

    7

  • necessrio tambm construir um painel de conexo, para usar o VI

    como um subVI. O painel de conexo um conjunto de terminais que corresponde

    aos controles e indicadores do tal VI, similar a lista de parmetros de uma chamada

    de funo nas linguagens de programao baseadas em texto. O painel de conexo

    define as entradas e sadas do VI que podem ser usadas quando funcionando como

    um subVI. Um painel de conexo recebe dados nos terminais de entrada e

    transfere-os para o cdigo do diagrama de blocos atravs dos controles do painel

    frontal, e recebe os resultados nos terminais de sada, provenientes dos indicadores

    do painel frontal. A Fig. 2.3 apresenta o cone padro e um exemplo de painel de

    conexo.

    Fig. 2.3: O cone default, e um painel de conexo.

    Quando v-se o painel de conexo pela primeira vez, v-se um

    modelo de conexes. Pode-se selecionar um modelo diferente se necessrio. O

    painel de conexo geralmente possui um terminal para cada controle ou indicador

    no painel frontal. Alteraes nas entradas e sadas do VI automaticamente

    refletem-se no painel de conexo. O painel de conexo suporta at vinte e oito

    terminais. Apesar disso, recomenda-se no designar mais que dezesseis terminais

    no VI, pois uma quantidade elevada pode reduzir a legibilidade do VI.

    2.4. Usando e Adaptando VIs e SubVIs

    Aps construir-se um VI e criar seu cone e painel de conexo,

    pode-se us-lo como um subVI.

    Eles podem ser armazenados individualmente em arquivos, ou em

    grupos dentro de uma biblioteca de VIs.

    8

  • A aparncia e caractersticas de um VI podem ser modificadas.

    Tambm possvel criar menus individuais para todo o VI construdo, e configur-lo

    para mostrar ou ocultar barras de menu.

    9

  • 3. O Ambiente LabVIEW

    3.1. A Paleta de Controles

    A paleta de controles disponvel apenas no painel frontal (Fig. 3.1).

    Para mostr-la, deve-se selecionar Window>Show Controls Palette ou pulsar o boto

    direito do mouse. Ela posicionvel em qualquer parte da tela.

    A sua aparncia modificvel.

    Fig. 3.1: A paleta Controls.

    3.2. A Paleta de Funes

    A paleta de funes disponvel apenas no diagrama de blocos (Fig.

    3.2). Para torn-la visvel usa-se a seleo Window>Show Functions Palette ou a

    pulsao do boto direito do mouse sobre a janela do diagrama de blocos.

    posicionvel em qualquer lugar da tela.

    Sua aparncia modificvel.

    10

  • Fig. 3.2: A paleta Functions.

    3.3. Comandando as Paletas de Controles e de Funes

    Os botes de comando nas paletas de controles e de funes servem

    para movimentao de nvel e busca por controles, VIs, e funes. Quando pulsa-se

    um cone de subpaleta, a paleta muda para a subpaleta selecionada. Um VI pode

    ser carregado na tela pulsando o boto direito do mouse sobre um cone de VI na

    paleta e selecionando Open VI no menu de atalho.

    As paletas de controles e funes contm os seguintes botes de

    comando:

    Elevao (Up) - sobe um nvel hierrquico da paleta;

    Busca (Search) - coloca a paleta em modo de busca. Neste modo,

    localizam-se controles, VIs, ou funes nas paletas realizando procura baseada em

    texto.

    11

  • Opes (Options) - Carrega a caixa de dilogo Function Browser Options,

    onde a aparncia das paletas configurada.

    3.4. A Paleta de Ferramentas

    A paleta de ferramentas disponvel tanto do painel frontal quanto no

    diagrama de blocos. Uma ferramenta um modo especial de operao do ponteiro

    do mouse. Quando selecionada uma ferramenta, o cone do ponteiro muda para o

    cone da ferramenta. As ferramentas so usadas para operar e modificar os objetos

    do painel frontal e do diagrama de blocos (Fig. 3.3).

    Fig. 3.3: A paleta Tools.

    A seleo de Window>Show Tools Palette mostra a paleta de

    ferramentas. Tambm, no pressionamento da tecla Shift e do boto direito do

    mouse surge uma verso temporria da paleta de ferramentas na locao do

    ponteiro. Ela pode ser colocada em qualquer lugar da tela.

    3.5. Menus e Barras de Ferramentas

    Os menus e itens da barra de ferramentas operam e modificam os

    objetos do painel frontal e diagrama de blocos. Os botes da barra de ferramentas

    executam o VI.

    12

  • 3.5.1. Menus

    Os menus no topo da janela do VI contm itens comuns a todos os

    aplicativos, tal como Open, Save, Copy, e Paste, e outros itens especficos do

    LabVIEW. Alguns dos seus itens possuem atalhos de teclado.

    3.5.2. Menus de Atalho

    O menu mais geralmente usado o menu de atalho. Todos os objetos

    LabVIEW e espaos vazios no painel frontal e diagrama de blocos tem menus de

    atalho associados. Os seus itens servem para mudar a viso ou caractersticas dos

    objetos do painel frontal ou diagrama de blocos. Para acess-los, basta pulsar o

    boto direito do mouse com seu ponteiro sobre o objeto.

    Quanto um VI est sendo executado, ou em modo de execuo, todos

    os objetos do painel frontal tem um conjunto resumido de itens de menu de atalho.

    Este conjunto possibilita cort-los, copi-los e col-los, configur-los para o valor

    padro, ou ler suas descries.

    Alguns dos controles mais complexos possuem opes adicionais. Por

    exemplo, o menu de atalho do vetor (array) inclui itens para copiar uma faixa de

    valores ou ir para o ltimo elemento do vetor.

    3.5.3. Barra de Ferramentas

    Os botes da barra de ferramentas executam e editam um VI. Quando

    um VI executado, botes aparecem na barra de ferramentas que so usados para

    depurar o VI.

    13

  • 3.6. Modificando o Ambiente de Trabalho

    possvel alterar a aparncia das paletas de controles e de funes,

    alm de escolher outras configuraes para o ambiente de trabalho, pela caixa de

    dilogo Options.

    3.6.1. Modificando as Paletas de Controles e de Funes

    As seguintes atitudes modificam as paletas de controles e de funes:

    y Adio de VIs e controles s paletas;

    y Configurao de distintas visualizaes para usurios diferentes, ocultandoalguns VIs e funes para facilitar o uso para um usurio, enquanto prov

    paletas completas para outro usurio;

    y Rearranjo das paletas para tornar mais acessveis VIs e funes de usofreqente;

    y Converso do conjunto de controles ActiveX em controles customizados esua adio s paletas;

    y Adio de conjuntos de ferramentas s paletas.

    3.6.1.1. Adicionando VIs e Controles s Bibliotecas de Usurio e de Instrumentos

    O mtodo mais simples para adicionar VIs e controles s paletas de

    controles e de funes armazen-los na pasta user.lib. Quando reinicializado, oLabVIEW reconhece-os, apresentando-os nas paletas Functions>User Libraries e

    Controls>User Libraries, que contm subpaletas para cada pasta, biblioteca de VI

    (.llb) ou arquivo de menu (.mnu) em user.lib, e cones para cada arquivo emuser.lib. O LabVIEW automaticamente sobrepe as paletas quando arquivos soadicionados ou removidos dos diretrios especficos.

    14

  • A paleta Functions>Instrument I/O corresponde pasta instr.lib.Armazenar os drivers de instrumentos nesta pasta fazem-los mais acessveis na

    paleta de funes.

    Quando este mtodo usado para adicionas controles ou VIs s

    paletas, no se pode determinar a exata localizao dos mesmos nas paletas.

    3.6.1.2. Criando e Editando a Visualizao das Paletas

    Para controlar a exata localizao dos VIs e controles adicionados,

    deve-se criar uma visualizao de paleta. Estas informaes so armazenadas na

    pasta labview\menus. A pasta menus contm diretrios que correspondem a cadavisualizao que foi criada ou instalada. Se o LabVIEW esta sendo executado em

    uma rede, pode-se definir diretrios individuais menus para cada usurio, o quefacilita a transferncia para outras pessoas.

    Quando uma nova visualizao criada, o LabVIEW copia a paleta

    original alocada na pasta labview\menus antes que qualquer alterao sejarealizada. Isto garante uma experimentao sem que a visualizao original seja

    corrompida.

    Os arquivos .mnu e .llb contm, cada um, uma paleta de controles euma de funes. Em acrscimo, cada arquivo contm um cone para as paletas de

    controle e de funes. As paletas criadas devem ser armazenadas em arquivos

    .mnu separados.

    Quando selecionada uma visualizao, o LabVIEW procura na pasta

    menus por uma pasta que corresponda a esta visualizao. Ele constri o nvelsuperior de paletas e subpaletas de controle e de funes no arquivo root.mnunesta pasta que automaticamente criada quando uma visualizao produzida.

    Para cada VI ou controle, o LabVIEW cria um cone na paleta. Para

    cada subpasta, arquivo .mnu ou .llb, o LabVIEW cria uma subpaleta na paleta.

    15

  • 3.6.1.3. Construindo Subpaletas ActiveX

    Se controles ActiveX so usados no painel frontal, a seleo

    Tools>Advanced>Import ActiveX Controls converte um conjunto de controles

    ActiveX em controles customizados e adiciona-os a paleta de controles. O LabVIEW

    armazena os controles na pasta user.lib por padro, pois todos os arquivos epastas em user.lib automaticamente aparecem nas paletas.

    3.6.1.4. Representando Conjuntos de Ferramentas nas Paletas

    Conjuntos de ferramentas que so instalados em vi.lib\addonsautomaticamente aparecem no nvel superior das paletas de controle e de funes

    aps a reinicializao do LabVIEW.

    Recomenda-se no armazenar os VIs e controles produzidos pelo

    usurio na pasta vi.lib, pois o LabVIEW sobrepe estes arquivos quando umatualizao do programa for executada. Deve-se armazen-los na pasta user.lib.

    3.6.2. Configurando as Opes de Ambiente

    Selecionando Tools>Options pode-se configurar o ambiente de

    trabalho do LabVIEW. Usando a caixa de dilogo Options, escolhe-se opes de

    caminhos de pastas, desempenho e volumes de disco, painis frontais, diagramas

    de blocos, capacidade de desfazer operaes, ferramentas de depurao, cores,

    fontes de caracteres, impresso, janelas de histrico, formato de hora e data, e

    outras caractersticas do LabVIEW.

    3.6.2.1. Como o LabVIEW Armazena as Opes

    As opes so armazenadas no arquivo labview.ini na pastalabVIEW. O formato de arquivo similar aos outros .ini. Ele comea com uma

    16

  • seo de marcao seguida de um nome de opo e seu valor, tal como

    offscreenUpdates=True.

    No caso de uso de um outro arquivo de opes, pode-se indic-lo ao

    LabVIEW. suficiente editar as propriedades do atalho do LabVIEW, escrevendo no

    caminho de atalho labview -pref .

    17

  • 4. Construindo o Painel Frontal

    O painel frontal a interface de usurio de um VI. Geralmente,

    projetado em primeiro lugar o painel frontal, ento projetado o diagrama de blocos

    para realizar o trabalho com as entradas e sadas que esto no painel frontal.

    4.1. Configurando os Objetos no Painel Frontal

    O painel frontal configurado usando os menus de atalho dos

    controles e indicadores, escolhendo a ordem dos seus objetos, e na importao de

    grficos. Pode-se tambm redimensionar manualmente os objetos do painel frontal

    e configur-los para se redimensionarem automaticamente quando a janela muda

    de tamanho.

    4.1.1. Mostrando e Ocultando Elementos Opcionais

    O painel frontal tem elementos opcionais que podem ser ocultos ou

    mostrados. Uma lista dos elementos disponveis apresentada com um pulso no

    boto direito do mouse sobre o objeto e selecionando Visible Items no menu de

    atalho.

    4.1.2. Alternando entre Controles e Indicadores

    O LabVIEW inicialmente configura os objetos na paleta de Controles

    como controles ou indicadores baseado no uso tpico. Por exemplo, um LED

    aparece no painel frontal como um indicador pois um LED geralmente um

    dispositivo de sada.

    Algumas paletas contm um controle e um indicador para o mesmo

    objeto. Por exemplo, a paleta Controls>Numeric contm um controle digital e um

    indicador digital.

    18

  • Ento, pelo menu de atalho, pode-se permutar entre controle e

    indicador, selecionando Change to Control ou Change to Indicator.

    4.1.3. Substituindo Objetos do Painel Frontal

    Atravs do menu de atalho do objeto, disponibilizada a opo

    Replace, de onde uma paleta de controles temporria aparece. Ento, pode-se

    substituir o objeto por outros.

    Este mtodo preserva tanta informao quanto possvel sobre o objeto

    original, tal como seu nome, descrio, dado padro, direo de fluxo (controle ou

    indicador), cor, tamanho, e outras. Entretanto, o novo objeto retm o seu prprio tipo

    de dados. Ligaes dos terminais ou variveis locais permanecero no diagrama de

    blocos, mas devero romper-se, devido a incompatibilidade de tipo.

    Quanto mais o novo objeto assemelhe-se ao antigo, mais

    caractersticas sero preservadas.

    Se for utilizado o clipboard, nenhuma caracterstica do objeto antigo

    ser preservada.

    4.1.4. Usando Grficos Importados

    Grficos podem ser importados de outros aplicativos, com a finalidade

    de uso como fundo do painel frontal, como itens em anis de controle, e como

    partes de outros controles e indicadores.

    Para importar um grfico, pode-se copi-lo para o clipboard

    transferindo-o posteriormente para o painel frontal, ou selecionar Edit>Import Picture

    from File.

    4.1.5. Agrupamento e Bloqueio de Objetos

    Objetos agrupados mantm seu arranjo relativo, enquanto que objetos

    bloqueados mantm sua posio no painel frontal, e no podem ser apagados.

    19

  • Entretanto, mesmo agrupados ou bloqueados, podem ser configurados em qualquer

    tempo.

    Para tanto, deve-se marcar os objetos a editar com a ferramenta

    Positioning, e pulsar o boto Reorder na barra de ferramentas, escolhendo Group ou

    Lock, no menu que surge.

    4.1.6. Redimensionando Objetos

    A maior parte dos objetos podem ser dimensionados. Quando

    move-se a ferramenta Positioning sobre um objeto dimensionvel, surgem

    marcadores de redimensionamento. Objetos agrupados so dimensionados em

    conjunto.

    Para restringir o crescimento em uma direo ou manter a

    proporcionalidade de crescimento, deve-se pressionar a tecla Shift no ato da

    manipulao. Para dimensionar baseado no centro do objeto, deve-se pressionar o

    conjunto Ctrl-Shift.

    4.1.7. Proporcionalidade de Objetos

    Quando redimensiona-se a janela do painel frontal, pode-se configurar

    os objetos para manter suas propores relativas a esta janela. Ao selecionar um

    objeto, escolhe-se Edit>Scale Object With Panel. Somente possvel a configurao

    de um nico objeto. Assim, para configurar mais de um objeto, deve-se

    primeiramente agrup-los.

    4.1.8. Adicionando Espao no Painel Frontal

    Para incrementar o espao entre objetos prximos ou amontoados,

    deve-se pressionar a tecla Ctrl e usar a ferramenta Positioning sobre o espao de

    trabalho do painel frontal. Enquanto mantm-se a combinao de teclas, arrasta-se

    uma regio no tamanho que deseja-se inserir.

    20

  • 4.2. Controles e Indicadores do Painel Frontal

    4.2.1. Objetos em 3D e Clssicos

    Muitos objetos do painel frontal tm alta resoluo de cores e

    aparncia tridimensional. O monitor deve estar configurado para uma resoluo de

    no mnimo dezesseis bits para cores (65 536 cores), para uma aparncia tima dos

    objetos.

    Os objetos tridimensionais do painel frontal tambm tm seus

    correspondentes em baixa resoluo de cores - os objetos bidimensionais. Estes

    objetos em 256 e 16 cores esto na paleta Controls>Classic Controls.

    4.2.2. Slides, Knobs, Dials, e Mostradores Digitais

    Os objetos das paletas Controls>Numeric e Controls>Classic

    Controls>Numeric simulam slides, knobs, dials e mostradores digitais. Estas paletas

    tambm incluem caixas de cores e uma rampa de cores para configurao de

    valores de cores. Os dados numricos so mostrados e inseridos pelos indicadores

    e controles numricos, respectivamente.

    Os controles e indicadores tipo slide esto na forma vertical,

    horizontal, alm de imitarem um tanque e um termmetro. Seu valor alterado ao

    deslizar o ajuste, pulsar o ponteiro do mouse na posio desejada ou entrar com

    dados no mostrador opcional. Se o ajuste deslizado para uma nova posio, os

    valores intermedirios so passados ao VI, dependendo de como este l o controle.

    Ao pulsar com o boto direito do mouse sobre este objeto, pode-se

    acrescentar mais ajustes selecionando Add Slider atravs do menu de atalho. O tipo

    de dado agora ser um grupo (cluster) que contm cada um dos valores numricos.

    Os controles e indicadores do tipo rotacional incluem knobs, dials,

    gauges e medidores. Operam em semelhana aos tipo slide. Pode-se alterar seu

    valor no mover do ponteiro, por pulsar sobre um ponto no mostrador ou usando o

    21

  • mostrador numrico opcional. Identicamente ao anterior, no menu de atalho

    adiciona-se mais ponteiros selecionando-se Add Needle. Os dados sero do tipo

    grupo (cluster) aps esta mudana.

    Os controles e indicadores digitais so o caminho mais simples para

    entrar e mostrar dados numricos. Podem ser dimensionados manualmente para

    acomodar mais dgitos. O valor indicado pode ser alterado por insero direta no

    mostrador, usando a ferramenta Labeling ou Operating; por manipulao dos botes

    laterais com a ferramenta Operating; ou com as setas para cima e para baixo no

    teclado, ao posicionar o cursor a direita do dgito que se deseja alterar.

    A caixa de cores mostra uma cor que corresponde a um valor

    numrico. Este valor hexadecimal, da forma RRGGBB. O byte menos significativo

    expressa a intensidade de azul, o intermedirio expressa a intensidade de verde, e

    o mais significativo, a de vermelho. A cor da caixa de cores pode ser ajustada com a

    ferramenta Operating ou Coloring, atravs do mostrador de cores que surge aps

    pulsar o ponteiro sobre o objeto.

    A rampa de cores usa uma cor para mostrar seu valor numrico. Uma

    escala de cores configurada a partir de pelo menos dois marcadores arbitrrios,

    cada um com um valor numrico e uma cor correspondente. Conforme o valor de

    entrada alterado, o mostrador muda para a cor correspondente. Este objeto

    encontra utilidade na indicao de limites operacionais. O menu de atalho fornece

    as opes de configurao.

    4.2.3. Botes, Chaves e Luzes

    Os controles e indicadores booleanos esto nas paletas

    Controls>Boolean e Controls>Classic Controls>Boolean. Eles simulam Botes,

    chaves e luzes. O menu de atalho oferece as opoes de configurao e

    comportamento para estes objetos.

    22

  • 4.2.4. Caixas de Texto, Letreiros e Mostradores de Caminho

    Os objetos nas paletas Controls>String & Path e Controls>Classic

    Controls>String & Path simulam caixas de texto, letreiros e indicadores de arquivos

    e pastas.

    4.2.5. Objetos Tipo Grupo e Vetor

    As paletas Controls>Array & Cluster e Controls>Classic Controls>Array

    & Cluster contm objetos para criao e gerenciamento de vetores (arrays) e grupos

    (clusters) de outros controles e indicadores.

    4.2.6. Controles e Indicadores Tipo Aba

    Pode-se sobrepor controles e indicadores do painel frontal ao utilizar o

    controle do tipo aba. Este controle consiste de pginas e marcadores. Os objetos do

    painel frontal podem ser distribudos por sobre as pginas, e encontrados ao

    selecionar o respectivo marcador.

    No diagrama de blocos, os terminais respectivos destes objetos nas

    pginas do controle tipo aba aparecem como qualquer outro terminal.

    4.2.7. Caixas de Listagem

    Os controles das paletas Controls>List & Table e Controls>Classic

    Controls>List & Table so usados para fornecer ao usurio uma lista de itens a

    escolher. Para modificar itens e acumular informao sobre os mesmos deve-se

    usar a opo Property Node da caixa de listagem.

    As caixas de listagem suportam a busca por iniciais. O

    pressionamento da tecla Tab leva ao prximo item que corresponda. Shift-Tab

    retorna ao anterior.

    23

  • 4.2.8. Objetos Tipo Anel e Enumerados

    Para criar uma lista que possa ser percorrida em ciclo fechado,

    deve-se usar os objetos da paleta Controls>Ring & Enum ou Controls>Classic

    Controls>Ring & Enum.

    Os controles do tipo anel so objetos numricos que associam valores

    numricos, na faixa de zero a n-1, com seqncia de caracteres ou figuras.

    Aparecem como menus descendentes, que os usurios podem efetuar de forma

    cclica a seleo. Eles suportam busca por iniciais.

    Os controles do tipo enumerados so similares ao tipo anel.

    Entretanto, o valor fornecido uma seqncia de caracteres (string), no lugar de um

    nmero.

    4.2.9. Objetos para Gerenciamento de Entrada e Sada

    A paleta Controls>I/O ou Controls>Classic Controls>I/O contm objetos

    usados para fornecer nmeros de canais DAQ, nomes-fonte de VISA e nomes

    lgicos de IVI para configurao dos VIs de entrada e sada que comunicam com

    um instrumento ou dispositivo de aquisio de dados. Constantes so localizadas

    nas paletas Functions>Instrument e Functions>DAQ.

    4.2.10. Referncias a Objetos ou Aplicaes

    Quando se trabalha com arquivos, pastas, dispositivos e conexes de

    rede necessrio a existncia de nmeros de referncia, identificadores nicos

    para cada objeto. O LabVIEW cria um ponteiro temporrio, refnum (reference

    number) toda a vez que se abre um arquivo, dispositivo ou conexo de rede.

    Quando se fecha o objeto, este ponteiro se torna obsoleto. As paletas

    Controls>Refnum e Controls>Classic Controls>Refnum contm controles e

    indicadores do tipo nmero de referncia.

    24

  • 4.2.11. Controles Tipo Dilogo

    Os controles tipo dilogo so projetados para trabalhar com caixas de

    dilogo, incluindo controles tipo anel, botes, caixas de dilogo com abas, caixas

    para marcao (checkboxes) e botes de rdio (radio buttons). Estes controles e

    indicadores esto alocados na paleta Controls>Dialog Controls. A aparncia destes

    objetos diretamente dependente das cores de configurao da rea de trabalho.

    4.3. Rotulao

    Para identificar objetos no painel frontal e o diagrama de blocos

    existem os rtulos.

    O LabVIEW inclui dois tipos de rtulos: rtulos prprios e livres.

    Rtulos prprios pertencem a um objeto especfico. So ocultveis, mas no se

    pode elimin-los ou duplica-los sem interferir no objeto a ele ligado. So de livre

    movimentao, mas quando seu objeto movimentado, movimenta-se com o

    objeto. Rtulos de unidades para controles numricos so mostrados a partir do

    menu de atalho, selecionando Visible Items>Unit Label.

    Rtulos livres no esto ligados a qualquer objeto, sendo de livre

    movimento, eliminao e duplicao. Servem para criar anotaes no painel frontal

    e no diagrama de blocos.

    A ferramenta Labeling cria rtulos livres e edita qualquer tipo de rtulo.

    Os objetos do painel frontal possuem ttulos. A partir do menu de

    atalho, Visible Items>Caption, mostra o ttulo. Diferente do rtulo, no afeta o nome

    do objeto, sendo usado para uma descrio melhor do objeto, e no aparece no

    diagrama de blocos.

    25

  • 4.4. Caractersticas de Texto

    O LabVIEW utiliza as fontes presentes no computador. Para alterar os

    atributos de um texto, deve-se usar o menu descendente na barra de ferramentas,

    Text Settings (v. Fig. 4.1). Este menu contm as seguintes fontes embutidas:

    y Application Font - Fonte padro usada nas paletas de controles e de funese no texto de novos controles;

    y System Font - Usada em menus;

    y Dialog Font - Para textos em caixas de dilogo.

    Fig. 4.1: Barra de ferramentas do LabVIEW.

    4.5. Projetando Interfaces de Usurio

    Se um VI serve de interface de usurio ou caixa de dilogo, a

    aparncia e estrutura do painel frontal importante. Deve ser projetado, ento, de

    forma que usurios possam facilmente identificar que aes executar. Controles e

    indicadores racionalmente agrupados e posicionados, nomes de fcil compreenso

    e cores e fontes convenientemente escolhidas. Podem assemelhar-se ao painel

    frontal do instrumento controlado. Deve-se evitar sobrepor objetos no painel frontal,

    pois isto pode ocasionar cintilao dos mesmos, quando da atualizao dos objetos.

    As fontes e cores escolhidas podem no ser comuns a todos os

    computadores. Assim, o LabVIEW substitui-as no caso de ausncia por uma bem

    prxima. No caso de mudanas de resoluo da tela, pode-se evitar a distoro do

    painel frontal, atravs de File>VI Properties, Category, Window Size, Maintain

    Proportions of Window for Different Monitor Resolutions.

    26

  • 5. Construindo o Diagrama de Blocos

    Aps a construo do painel frontal, adiciona-se o cdigo usando as

    representaes grficas das funes para controlar os objetos do painel frontal. O

    diagrama de blocos contm este cdigo-fonte grfico.

    5.1. Relacionamento Painel Frontal e Diagrama de Blocos

    Os objetos do painel frontal aparecem como terminais no diagrama de

    blocos. Um duplo-pulso sobre o terminal no diagrama de blocos conduz ao

    correspondente controle ou indicador no painel frontal. Um terminal somente

    eliminado a partir da remoo seu objeto no painel frontal.

    5.2. Objetos do Diagrama de Blocos

    5.2.1. Fios

    A transferncia de dados entre os objetos do diagrama de blocos

    feita atravs dos fios. A cor e espessura do fio depende do dado que este carrega

    (v. Fig. 5.1). A cor diretamente ligada ao tipo de dado (preciso dupla, seqncia

    de caracteres etc.), e, se conduzir um dado tipo vetor (matriz), quanto mais

    dimenses possuir, mais espesso o fio.

    27

  • Fig. 5.1: Os fios: exemplos de cores e espessuras.

    5.2.2. Terminais

    Um terminal qualquer ponto no qual liga-se um fio. O LabVIEW tem

    terminais de controle e indicao, terminais tipo n, constantes, e terminais

    especializados em estruturas, tal como terminais de entrada e sada em um n de

    frmula (formula node). Atravs do menu de atalho, pode-se mostrar ou ocultar os

    terminais, selecionando Visible Items>Terminals. Este menu de atalho no

    disponvel para funes expansveis.

    28

  • 5.2.2.1. Tipos de Dados

    A cor e o smbolo de cada terminal indica o tipo de dado do objeto.

    Terminais de controle possuem bordas mais espessas do que terminais de

    indicao.

    Tab. 5.1: Terminais de Controle e Indicao

    AzulTipo enumerado

    AzulNumrico, inteiro, 32-bits sem sinal

    AzulNumrico, inteiro, 16-bits sem sinal

    AzulNumrico, inteiro, 8-bits sem sinal

    AzulNumrico, inteiro, 32-bits com sinal

    AzulNumrico, inteiro, 16-bits com sinal

    AzulNumrico, inteiro, 8-bits com sinal

    LaranjaNumrico, complexo, ponto flutuante depreciso estendida

    LaranjaNumrico, complexo, ponto flutuante depreciso dupla

    LaranjaNumrico, complexo, ponto flutuante depreciso simples

    LaranjaNumrico, ponto flutuante de precisoestendida

    LaranjaNumrico, ponto flutuante de preciso dupla

    LaranjaNumrico, ponto flutuante de preciso simplesCorTipo de DadoIndicadorControle

    29

  • AzulFigura - Mostra figuras que contenham linhas,crculos, textos, e outros tipos de formasgrficas.

    PrpuraIdentificao de entrada e sada - fornece osnomes de canais DAQ, nomes-fontes de VISA,e nomes lgicos de IVI.

    PrpuraPolimrfico - indica a aceitao de mais de umtipo de dado.

    PrpuraVariante - Inclui o nome do objeto, informaode tipo de dado, e o prprio dado.

    guaNmero de referncia (refnum)

    MarromForma de onda

    guaCaminho

    Marrom ouRosa

    Grupo (Cluster) - pode conter muitos tipos dedados. Se os elementos so de mesmo tipo,sua cor marrom. Se so de tipos diferentes,rosa.

    VarivelVetor (Array) - o tipo de elemento colocadoentre os colchetes

    RosaSeqncia de caracteres (string)

    VerdeBooleano

    5.2.2.2. Constantes

    Os terminais que suprem dados com valores fixos no diagrama de

    blocos so do tipo constante. O LabVIEW possui os seguintes tipos de constantes

    universais:

    y Constantes numricas universais - um conjunto de valores matemticos efsicos com alta-preciso, tais como a base do logaritmo natural (e) e a

    velocidade da luz. Esto colocadas na paleta Functions>Numeric>Additional

    Numeric Constants;

    30

  • y Constantes de caracteres universais - um conjunto de caracteresno-visveis, tais como alimentao de linha (LF) e retorno de carro (CR). Esto

    na paleta Functions>String;

    y Constantes de arquivo universais - um conjunto de valores geralmenteusados na manipulao de caminhos de arquivo, tais como Not a Path, Not a

    Refnum, e Default Directory. Esto na paleta Functions>File I/O>File Constants.

    Pode-se criar constantes, pulsando com o boto direito sobre um

    terminal de um VI ou funo, selecionando Create Constant. Puxando um controle

    do painel frontal para o diagrama de blocos ocasiona a criao de uma constante

    cujo valor o do controle no momento desta operao.

    A edio do valor de uma constante criada semelhante a do controle

    digital, comentada no item 4.2.2.

    5.2.3. Ns

    Os objetos que tm entradas e/ou sadas e realizam operaes

    quando o VI executado so denominados de ns. O LabVIEW contm os

    seguintes tipos:

    y Funes (Functions) - elementos de execuo embutidos, comparveis a umoperador, funo ou proposio.

    y SubVIs - VIs usados no diagrama de blocos de outro VI, comparveis asubrotinas;

    y Estruturas (Structures) - elementos de controle de processos, tal comoseqncia, caso, laos tipo para, ou laos tipo enquanto;

    y Ns de Frmula (Formula Nodes) - estruturas dimensionveis para inserode equaes diretamente no diagrama de blocos;

    y Ns de Propriedades (Property Nodes) - controle de propriedades de umaclasse;

    y Ns de Invocao (Invoke Nodes) - executam mtodos de uma classe;

    31

  • y Ns de Interfaceamento de Cdigo (Code Interface Nodes - CINs) - chamamcdigos de uma linguagem de programao baseada em texto.

    5.3. Funes - Viso Geral

    As funes so os elementos operacionais essenciais do LabVIEW.

    Esto na paleta Functions e so representadas por cones de fundo amarelo (v. Fig.

    5.2). No tm painis frontais ou diagramas de blocos, mas possuem painis de

    conexo.

    Fig. 5.2: A paleta Functions.

    A paleta tambm inclui os VIs que so entregues com o LabVIEW.

    Estes so representados por cones de fundo branco.

    32

  • Existem as seguintes funes:

    y Funes Numricas - realizam operaes aritmticas, trigonomtricas,logartmicas e de converso e manipulao numrica. Esto na paleta

    Functions>Numeric;

    y Funes Booleanas - manipulao de dados do tipo booleano. A paletaFunctions>Boolean as contm;

    y Funes de Caracteres - manipulao de dados do tipo seqncia decaracteres. Esto na paleta Functions>String;

    y Funes de Vetores - manipulao de dados do tipo vetor. Encontram-se napaleta Functions>Array;

    y Funes de Grupos - manipulao de dados do tipo grupo. A paletaFunctions>Cluster apresenta-os;

    y Funes de Comparao - usadas na comparao de valores booleanos,seqncias de caracteres, valores numricos, vetores e grupos. Esto na paleta

    Functions>Comparison;

    y Funes de Tempo e Dilogo - a paleta Functions>Time & Dialog agrupafunes que manipulam a velocidade de execuo de operaes, retornam

    informao de tempo e data e criam caixas de dilogo para apresentar instrues

    ao usurio;

    y Funes de Entrada e Sada - so funes de manipulao de arquivos.Esto na paleta Functions>I/O;

    y Funes de Forma-de-Onda - as funes da paleta Functions>Waveform sousadas para construir e manipular formas-de-onda que incluem valores,

    informao de canal e temporizao;

    y Funes de Controle de Aplicativo - so usadas para controlarprogramavelmente VIs e aplicaes LabVIEW no computador ou atravs de uma

    rede. So colocadas na paleta Functions>Application Control;

    y Funes Avanadas - as funes alocadas na paleta Functions>Advancedchamam cdigos de bibliotecas, tais como as bibliotecas de ligao dinmicas

    33

  • (DLLs), manipulam os dados LabVIEW para serem usados em outras aplicaes,

    e chamam pores de cdigo de linguagens de programao baseadas em texto.

    5.4. Conectando Objetos do Diagrama de Blocos

    A transferncia de dados no diagrama de blocos feita atravs dos

    fios. Cada fio tem uma nica fonte de dados, mas pode-se destin-lo a diversos VIs

    e funes simultaneamente. Eles so apresentados com cores que indicam o tipo

    de dado que carregam (v. Tab. 5.1). Um fio rompido aparece como uma linha preta

    tracejada.

    Quando move-se a ferramenta Wiring sobre um cone de VI ou funo,

    surgem pontas de conexo, que indicam o tipo de dado de cada terminal. Um rtulo

    temporrio tambm aparece, indicando o nome do terminal.

    Os terminais podem ser conectados verticalmente ou horizontalmente,

    dependendo da direo na qual movimenta-se a ferramenta Wiring. O fio conecta-se

    no centro do terminal, desconsiderando onde foi posicionado pelo usurio. Aps

    iniciar a conexo, pode-se permutar entre as direes vertical e horizontal

    pressionando a barra de espao no teclado. Ao pulsar o boto do mouse,

    imobiliza-se uma parte do fio. O pressionamento da tecla Ctrl simultaneamente com

    o pulsar do mouse desfaz a ltima imobilizao.

    Na sobreposio de fios, um pequeno espao aparece no primeiro fio

    desenhado para indicar que est debaixo do segundo fio. Entretanto, deve-se evitar

    o cruzamento de fios, pois pode dificultar o entendimento do diagrama de blocos,

    tornando-o de difcil depurao.

    5.4.1. Conexo Automtica

    Ao pressionar a barra de espao enquanto o objeto movimentado

    pela ferramenta Positioning permuta-se entre o modo de conexo manual e

    automtico.

    34

  • Se o modo automtico est habilitado, o LabVIEW automaticamente

    liga os objetos quando so colocados no diagrama de blocos, de acordo com a

    melhor adaptao. Caso no exista compatibilidade, os terminais permanecem

    desconectados. Por padro, a conexo automtica habilitada quando um objeto

    selecionado da paleta de funes ou quando duplicado um objeto do diagrama de

    blocos pelo pressionamento da tecla Ctrl e arrasto do objeto. A conexo automtica

    desabilitada quando um objeto j no diagrama de blocos movimentado com a

    ferramenta Positioning.

    5.4.2. Remoo de Fios

    Um fio rompido aparece como uma linha tracejada preta.

    Rompimentos ocorrem por vrias razes, tal como quando h tentativa de conectar

    dois objetos com incompatibilidade de dados, ou simplesmente porque o fio ainda

    no foi totalmente conectado

    Quando move-se a ferramenta Wiring sobre o fio rompido, surge um

    rtulo temporrio que descreve o motivo do rompimento. Um triplo-pulso no fio com

    a ferramenta Positioning e o pressionamento da tecla Delete remove o fio rompido.

    5.4.3. Pontos de Compatibilidade por Converso

    Pontos de compatibilidade forada aparecem nos objetos do diagrama

    de blocos para alertar que foram conectados dois tipos diferentes de dados. O ponto

    indica que o LabVIEW converter o valor passado para a representao requerida.

    Entretanto, estes pontos causam maior uso de memria e incrementam o tempo de

    execuo. Deve-se, ento, manter consistncia nos VIs.

    As funes e VIs podem ter muitos terminais, assim, o ponto de

    compatibilidade por converso poder aparecer dentro do cone do objeto, onde o

    fio foi conectado.

    35

  • 5.5. VIs e Funes Polimrficas

    As funes e VIs polimrficos podem se ajustar para aceitar dados de

    diferentes tipos. Grande parte das estruturas LabVIEW so polimrficas, como so

    alguns VIs e funes.

    Um VI polimrfico uma coleo de subVIs com o mesmo modelo de

    painel de conexo. Cada subVI uma instncia do VI polimrfico.

    No desenvolvimento de VIs polimrficos, devem-se considerar os

    seguintes itens:

    y Todos os VIs includos no VI polimrfico devem ter o mesmo modelo depainel de conexo;

    y As entradas e sadas do painel de conexo de cada instncia do VI devemcorresponder s entradas e sadas do painel de conexo do VI polimrfico;

    y Os VIs usados para construir um polimrfico no devem conter os mesmossubVIs e funes;

    y Cada um dos painis frontais dos VIs no precisam ter o mesmo nmero deobjetos. Entretanto, cada painel frontal dever ter pelo menos o mesmo nmero

    de controles e indicadores que compem o painel de conexo do VI polimrfico;

    y Pode-se criar um cone para o VI polimrfico;

    y No se pode usar VIs polimrficos em outro VI polimrfico.

    Quando criada uma documentao completa para um VI que inclui

    um subVI polimrfico, o VI polimrfico e os VIs que ele invoca aparecem em List of

    SubVIs.

    As funes so polimrficas em vrios graus: nenhum; algum, ou;

    completo. Algumas funes aceitam valores numricos ou booleanos. Algumas

    aceitam nmeros ou seqncias de caracteres. Outras no s aceitam escalares,

    mas tambm vetores numricos, grupos numricos e vetores de grupos numricos.

    36

  • 5.6. Manipulao de Dados Variantes

    Dados variantes no obedecem a um tipo especfico de dados e

    contm atributos, tal como nomes de canais e unidades. O LabVIEW representa

    dados variantes com o tipo dado variante. Ele difere dos outros tipos de dados

    porque inclui o nome do controle ou indicador, a informao do tipo de dado e o

    prprio dado.

    As funes para manipulao de dados variantes esto na paleta

    Functions>Advanced>Data Manipulation>Variant. Pode-se converter qualquer tipo de

    dado LabVIEW em tipo de dado variante para uso em outros VIs e funes. Por

    exemplo, na converso de uma seqncia de caracteres, o tipo variante armazena o

    texto e indica que o texto uma seqncia de caracteres.

    Usa-se o tipo variante quando importante manipular dados

    independentemente do tipo. Pode-se tambm representar os dados de forma

    independente do tipo sem usar o tipo variante, apenas por acomodar os dados em

    seqncia de caracteres (flattened data).

    Seqncias de caracteres e vetores so armazenados em blocos, e

    grupos contendo estes tipos so descontguos, i.e., no so armazenados em

    blocos adjacentes na memria. Assim, ao armazenar o grupo em disco, os dados

    sero obtidos de dois lugares diferentes. Quando o LabVIEW armazena dados em

    um arquivo de VI ou de dados, ele acomoda-os em uma seqncia de caracteres

    antes. Isto torna-os contguos. Ao l-los, a operao inversa realizada. Por

    exemplo, ao acomodar um vetor bidimensional de seis inteiros de oito bits, { {1, 2,

    3}, {4, 5, 6} }, armazena-se 0000 0002 0000 0003 0102 0304 0506.

    Entretanto, dados acomodados possuem limitaes, pois o LabVIEW

    no consegue manter compatibilidade por converso. Tambm, ao recompor um

    inteiro acomodado, mas para a forma de nmero em ponto flutuante com preciso

    estendida, falha. Assim, deve-se usar o tipo variante para trabalhar com dados de

    forma independente do tipo no lugar de acomodao em seqncia de caracteres.

    O tipo variante tambm til quando escreve-se ou l-se a partir da

    memria e realiza-se operaes que envolvem pilhas (ltimo que entra, primeiro que

    37

  • sai), filas (primeiro que entra, primeiro que sai), buffers inteligentes, ou rvores.

    Estas espcies de operaes tratam dados independentemente do tipo.

    5.7. Unidades Numricas

    O LabVIEW permite associar unidades fsicas de medida a qualquer

    controle numrico que tenha representao em ponto flutuante. Entretanto, no se

    permite utiliz-las em ns de frmula.

    As unidades de um controle aparecem em um rtulo prprio separado,

    chamado de rtulo de unidade. Ele mostrado por selecionar no menu de atalho

    Visible Items>Unit Label. Pode-se, ento, entrar com as abreviaes padro, como

    m para metros, s para segundos etc. Aps introduzir uma unidade, o menu de

    atalho do rtulo de unidade apresenta todas as unidades disponveis para

    associao, os multiplicadores aceitos (e.g. kilo, centi etc.) e unidades compatveis a

    atual presente no rtulo.

    Quando os objetos so associados a unidades, o LabVIEW realiza

    uma verificao de consistncia. Se detectada inconsistncia de unidades, um erro

    retornado, e o fio de conexo aparece rompido.

    5.8. Fluxo de Dados

    O LabVIEW segue um modelo de fluxo para executar VIs. Um n do

    diagrama de blocos executado somente quando todas as suas entradas estiverem

    disponveis. Completada a execuo, os resultados so disponibilizados nas sadas.

    Torna-se, ento, dependente dos dados. Quando blocos do diagrama no

    conectados por fios podem ser executados em qualquer ordem, so independentes

    dos dados. A estrutura tipo seqencial a nica forma de controlar a execuo

    quando a dependncia de dados natural no existe.

    Em linguagens de programao baseadas em texto, a ordem

    seqencial dos elementos do programa determina a ordem de execuo. No

    LabVIEW, devido ao fluxo de dados possuir mais relevncia do que a ordem

    38

  • seqencial dos comandos, pode-se criar diagramas de blocos que tm operaes

    simultneas. O LabVIEW um sistema multitarefa e multifilamentar, capacitado

    ento a transportar mltiplos dados e executar VIs simultaneamente. Dessa forma,

    ao projetar um diagrama de blocos, deve-se observar cuidadosamente o fluxo de

    dados, pois dependendo das conexes, o VI pode no trabalhar conforme o

    esperado.

    5.9. Projetando o Diagrama de Blocos

    Os seguintes itens devem ser observados para projetar diagramas de

    blocos:

    y Usar uma disposio tipo esquerda-para-direita e do alto-para-baixo. Apesardo posicionamento no determinar a execuo, evitar conexes da direita para a

    esquerda mantm a organizao e auxilia o entendimento;

    y Evitar a criao de diagramas de blocos que ocupem mais que uma ou duastelas. Diagramas grandes e complexos tornam-se de difcil compreenso e

    depurao;

    y Verificar a possibilidade do uso de componentes do diagrama de blocos emoutros VIs ou se uma seo do diagrama de blocos comporta-se como um

    componente lgico. Caso ocorra, divide-se o diagrama de blocos em subVIs que

    realizam tarefas especficas. O uso de subVIs ajuda a gerenciar mudanas e

    depuraes mais rapidamente;

    y Usar VIs manipuladores de erro, funes, e parmetros para gerenciar errosno diagrama de blocos;

    y Melhorar a aparncia do diagrama de blocos por conexes mais eficientes.Pobre organizao das conexes no produzem erros, mas dificultam a anlise

    do diagrama de blocos, podendo causar a impresso da existncia de

    comportamentos que no existem;

    y Evitar estabelecer conexes passando por debaixo de objetos, pois partes daconexo ficaro ocultas, dificultando o reconhecimento da fonte e destino dos

    dados;

    39

  • y Utilizar a ferramenta Coloring para alterar convenientemente a cor do espaode trabalho;

    y Incrementar o espao entre grupos de objetos amontoados ou muitoprximos. Para tanto, pode-se pressionar a tecla Ctrl e usar a ferramenta

    Positioning sobre o espao de trabalho do diagrama de blocos. Enquanto

    mantm-se a combinao de teclas, arrasta-se uma regio no tamanho que

    deseja-se inserir.

    40

  • 6. Executando e Depurando VIs

    Executar um VI realiza a operao para que ele foi projetado. O boto

    Run na barra de ferramentas, que aparece como uma seta branca inicia a execuo

    do VI. Ele executa o VI uma nica vez. O boto Run Continuously executa-o

    continuamente at o pressionamento do boto Abort Execution. Os botes de

    passo-a-passo (single stepping) executam o VI em passos incrementais. A Fig. 6.1

    mostra os botes da barra de ferramentas.

    Fig. 6.1: Os botes Run, Run Continuously, Abort Execution, Pause/Continue,

    Highlight Execution e os trs de controle passo-a-passo: Step Into,

    Step Over, e Step Out.

    Para propsitos de depurao, pode-se desejar a execuo de um

    diagrama de blocos n por n. Esta forma de execuo chamada passo simples

    (single-stepping). Antes de executar o VI, inicia-se o passo simples por pressionar o

    boto Pause. A execuo do VI tambm pode ser pausada a qualquer momento, ao

    acionar este boto na barra de ferramentas. Ao liberar-se o boto, retorna-se a

    execuo normal. Se o boto Run acionado com o Pause ativo, o VI reiniciado,

    mas em pausa. Existem trs formas de manipular a execuo passo-a-passo: Step

    Into - Abre um n e aguarda. executada a primeira ao e aguarda-se a prxima

    ao do subVI ou estrutura; Step Over - Executa um n e aguarda no prximo n;

    Step Out - Termina a execuo no n atual e aguarda.

    Ao acionar-se a execuo Highlight, o VI executado mostrando o

    movimento dos dados no diagrama de blocos atravs de bolhas que movem-se ao

    longo dos fios. Pode-se utilizar est execuo juntamente com o modo

    passo-a-passo.

    A configurao dos modos de execuo feita atravs de File>VI

    Properties, Category, Execution. Por exemplo, pode-se configurar a execuo para

    41

  • ser imediata quando aberto ou pausar quando um subVI for chamado. Diferentes

    prioridades so admitidas. Por exemplo, se crucial que um VI seja executado sem

    esperar qualquer outra operao completar-se, configura-se a execuo para

    prioridade de tempo crtico (mxima prioridade).

    Enquanto um VI no puder ser executado pelo LabVIEW, o boto Run

    aparece com a seta quebrada. Ao pressionar este boto, ou selecionar

    Window>Show Error List os erros so apresentados (v. Fig. 6.2). Para encontrar a

    localizao do erro no painel frontal ou no diagrama de blocos basta pressionar o

    boto Show Error ou pulsar duplamente com o mouse sobre a sua descrio. Os

    alertas so mostrados se Show Warnings estiver selecionado na janela Error list ou

    por Tools>Options, Debugging, Show warnings in error box by default.

    Fig. 6.2: Os botes Broken e Warning.

    6.1. Tcnicas de Depurao

    Se um VI no est com execuo impedida, mas no realiza o

    desejado, pode-se utilizar as seguintes tcnicas para identificar e corrigir problemas

    com o VI ou com o fluxo de dados do diagrama de blocos:

    y Utilizar os parmetros error in e error out na parte inferior da maioria dos Vise funes embutidas. Estes parmetros detectam erros encontrados em cada n

    e indicam se e onde um erro ocorreu;

    y Observar a movimentao dos dados pelo diagrama de blocos usando aexecuo tipo highlight, acionada por boto especfico na barra de ferramentas;

    y Adotar o modo passo-a-passo, para visualizar o comportamento de cadaseo;

    y Sondar valores intermedirios com a ferramenta Probe, enquanto o VI executado;

    42

  • Utilizar breakpoints, na paleta Tools, para iniciar o modo passo-a-passo,

    sondar valores intermedirios, editar valores de controles ou indicadores ou

    controlar as repeties de execuo;

    Desabilitar a execuo de uma parte do diagrama de blocos, para atestar se

    o VI executado de forma melhor.

    43

  • 7. Criando VIs e SubVIs

    Aps adquirir-se entendimento sobre o painel frontal e o diagrama de

    blocos, pode-se criar os prprios VIs e subVIs, VIs distribudos, e montar aplicaes

    independentes e bibliotecas compartilhadas.

    Antes de desenvolver os prprios VIs, deve-se criar uma lista de

    tarefas que os usurios necessitaro fazer; determinar os componentes da interface

    de usurio e o nmero e tipo de controles e indicadores necessrios para anlise de

    dados, apresentao dos resultados etc..; discutir com os futuros usurios ou outros

    projetistas como e quando acessar funes e atributos. Pode-se criar painis

    frontais simplificados para mostrar aos futuros usurios ou projetistas e determinar

    se o painel frontal ajuda os usurios a completar suas tarefas. Este processo

    interativo auxilia no refino da interface de usurio.

    recomendvel dividir a aplicao em partes gerenciveis em lugares

    lgicos. Iniciar com um diagrama de blocos de nvel superior que inclua os principais

    componentes da aplicao. Por exemplo, o diagrama de blocos poder conter um

    bloco para configurao, um bloco para aquisio, um bloco para anlise dos dados

    adquiridos, um bloco para apresentao dos resultados da anlise, um bloco para

    armazenamento em disco, e um bloco para manipulao de erros.

    Aps o projeto do diagrama de blocos de nvel superior, deve-se

    definir entradas e sadas. Ento, projetar os subVIs que constituem os principais

    componentes do diagrama de blocos de alto-nvel. O uso de subVIs torna o

    diagrama de blocos de nvel superior mais fcil de ler, depurar, compreender, e

    manter. Pode-se criar subVIs para operaes comuns ou freqentes, de forma a

    serem reutilizados.

    Rotinas de teste de nvel elevado podem ser criadas, mas encontrar

    erros em pequenos mdulos mais simples que testar uma hierarquia de muitos

    VIs. Assim, conveniente testar cada subVI no momento da sua criao.

    44

  • 7.1. VIs e Funes Embutidas

    O LabVIEW inclui VIs e funes para auxiliar a construo de

    aplicaes especficas, tais como VIs e funes para aquisio de dados, VIs que

    acessam outros VIs, e VIs que comunicam com outras operaes. Pode-se utilizar

    estes VIs como subVIs nas aplicaes para reduzir o tempo de desenvolvimento.

    Estes VIs e funes embutidas podem ser utilizados para controlar

    instrumentos externos, tal como osciloscpios, e adquirir dados, bem como ler a

    partir de um termoacoplador.

    Para controlar instrumentos externos, a paleta Functions>Instrument

    I/O contm VIs e funes especializadas para esta tarefa. Para controlar

    instrumentos pelo LabVIEW, deve-se ter o equipamento correto instalado, ligado, e

    operando no computador. Os VIs e funes dependem dos protocolos de

    comunicao que o equipamento suporta.

    Para adquirir dados a partir de dispositivos DAQ, a paleta

    Functions>Data Acquisition fornece os VIs e funes prprias. Para utilizar estes

    objetos, o aplicativo de gerenciamento NI-DAQ e o equipamento devero estar

    instalados. Aps adquirir dados, pode-se utilizar os VIs e funes embutidas

    Analyze, Report Generation, e Mathematics para analisar, gerar relatrios, e realizar

    operaes matemticas com estes dados.

    Quando se quer controlar o comportamento dos VIs, quando

    chamados como subVIs ou executados pelo usurio, a paleta Functions>Application

    Control fornece os objetos necessrios. Pode-se usar estes VIs e funes para

    configurar mltiplos VIs ao mesmo tempo. Tambm, inseridos em ambiente de rede,

    estes VIs e funes so teis para acessar e controlar VIs remotamente.

    Ao trabalhar-se com outras aplicaes distintas, a paleta

    Functions>File I/O oferece objetos para gerenciamento de arquivos. Assim,

    possvel ler e escrever dados a partir de aplicaes como o Microsoft Excel. Para a

    transferncia de dados atravs da rede de computadores usando um protocolo

    como FTP, e para construir aplicaes tipo servio ao cliente (client-server) usando

    protocolos de comunicao, os objetos de comunicao alocados na paleta

    Functions>Communication permitem esta implementao.

    45

  • 7.2. SubVIs

    Aps construir um VI e criar seu cone e painel de conexo, pode-se

    utiliz-lo em outro VI. Quando isto feito, denominado de subVI. Ele corresponde

    a uma subrotina nas linguagens de programao baseadas em texto. Assim, um n

    subVI no diagrama de blocos corresponder a uma chamada de subrotina nas

    linguagens de programao baseadas em texto. O n no o prprio subVI, tal

    como uma expresso de chamada de subrotina no a prpria subrotina. Assim,

    um diagrama de blocos que contm muitos ns subVI idnticos chama o mesmo

    subVI vrias vezes.

    Os controles e indicadores do subVI recebem dados a partir do

    diagrama de blocos do VI que o chamou e retornam os resultados para o mesmo.

    7.2.1. Instalao do Painel de Conexo

    Para usar um VI como um subVI, necessrio construir um painel de

    conexo. Este painel um conjunto de terminais que correspondem aos controles e

    indicadores do VI, similar a lista de parmetros de uma chamada de funo em

    linguagens de programao baseadas em texto. O painel de conexo define as

    entradas e sadas que podero ser ligadas ao VI, de forma que possa ser utilizado

    como um subVI.

    As conexes so definidas pela designao de um controle ou

    indicador do painel frontal para cada terminal do painel de conexo. Para definir um

    painel de conexo, deve-se abrir o menu de atalho no canto superior-direito da

    janela e selecionar Show Connector. O painel de conexo substituir o cone. Cada

    retngulo no painel de conexo representa um terminal, que devem ser usados para

    determinar as entradas e sadas. O nmero terminais de entrada e sada definido

    pelo nmero de controles e indicadores no painel frontal.

    O painel de conexo tem, no mximo, vinte e oito terminais. Se o

    painel frontal contm mais que este nmero, devero ser colocados em grupos

    (clusters) e direcionado o grupo para um terminal do painel de conexo. Apesar do

    46

  • nmero mximo (28), recomenda-se evitar criar mais que dezesseis terminais, pois

    o excesso reduz a legibilidade e utilizao do VI.

    Quando aciona-se o menu de atalho no painel de conexo, e

    seleciona-se Patterns, pode-se escolher um modelo diferente de terminais para o VI.

    Permite-se sobredimensionar o painel de conexo, para que sejam facilitadas as

    alteraes com mnimo efeito sobre a hierarquia dos VIs.

    Com o objetivo de facilitar a organizao do diagrama de blocos,

    quando cria-se VIs que sero usados em conjunto, recomenda-se a definio de

    painis de conexo consistentes, com terminais similares em posies iguais, e

    alinhamento de entradas e sadas que simplifiquem conexes. O terminal error in

    colocado no canto esquerdo inferior e o error out no canto direito inferior. A Fig. 7.1

    ilustra com dois exemplos de alinhamento.

    Fig. 7.1: Alinhamento de terminais: 1. imprprio; 2. apropriado.

    7.2.2. Gradao de Exigncias

    As entradas e sadas podem ser configuradas como requeridas,

    recomendadas e opcionais, para prevenir usurios quanto ao esquecimento de

    efetuar determinadas conexes.

    As opes para cada terminal so configurveis a partir do menu de

    atalho do respectivo terminal no painel de conexo, em This Connection Is,

    Required, Recommended, ou Optional. A opo recommended configurada como

    padro inicial. As entradas e sadas dos VIs de vi.lib j esto configuradas.

    Quando uma entrada ou sada requerida, no se pode executar o VI

    sem conect-la corretamente. Somente devem ser configuradas assim as entradas

    47

  • e sadas que so necessrias para o VI ser executado apropriadamente. Quando

    recomendada, o VI pode ser executado, porm um aviso ser gerado, que poder

    ser visto se Show Warnings estiver selecionado na janela Windows>Show Error List.

    O LabVIEW usa o valor padro para entradas e sadas no conectadas e no relata

    qualquer aviso (v. Fig. 7.2).

    Fig. 7.2: A janela Error list, com a caixa Show Warnings selecionada.

    Acionando-se a janela Context Help em Window>Show Context Help, e

    descansando o ponteiro do mouse sobre o cone do VI, as conexes requeridas

    aparecem em negrito, as recomendadas em texto normal, e as opcionais so

    enfraquecidas se o modo de observao Detailed estiver ativo, ou no so

    mostradas se o modo de observao Simple estiver selecionado.

    48

  • 7.2.3. Criao de cones

    Todo VI possui um cone, apresentado esquerda, no canto superior

    da janela do painel frontal e do diagrama de blocos. O cone a representao

    grfica do VI. Pode conter textos, imagens, ou ambos.

    O cone padro contm um nmero que indica quantos VIs foram

    abertos desde que a atual seo do LabVIEW foi ativada. Pode-se criar cones

    personalizados para substituir os cones padro pulsando duplamente sobre o cone

    do canto esquerdo-superior, ou abrindo o menu de atalho e selecionando Edit Icon.

    Dependendo da resoluo do monitor, pode-se criar cones separados para o modo

    monocromtico, 16 cores, e 256 cores. a menos que se tenha impressora colorida,

    o LabVIEW adotar cones monocromticos (v. Fig. 7.3).

    Fig. 7.3: A janela Icon editor.

    7.2.4. Criao de subVIs por Seleo

    Se deseja-se reutilizar determinada poro do diagrama de blocos,

    pode-se criar um subVI apenas marcando a rea com a ferramenta Positioning e

    selecionando Edit>Create SubVI. Um cone para o novo subVI substituir a seo

    marcada do diagrama de blocos. Sero criados controles e indicadores para o novo

    subVI e as ligaes necessrias.

    49

  • Criar um subVI a partir de seleo conveniente mas sempre requer

    cuidadoso planejamento para definir uma hierarquia lgica de VIs. Deve-se

    considerar quais objetos incluir na seleo e evitar alterar a funcionalidade do VI

    resultante.

    7.2.5. Projetando subVIs

    Se os usurios no precisarem visualizar o painel frontal do subVI, no

    necessrio consumir tempo na sua aparncia, incluindo cores e fontes. Entretanto,

    a organizao ainda importante, pois o painel frontal ser usado na depurao do

    VI.

    Recomenda-se colocar os controles e indicadores como aparecem no

    painel de conexo. Controles no lado esquerdo e indicadores no lado direito do

    painel frontal. Grupos error in no canto inferior esquerdo e error out no direito.

    Se o controle possui um valor padro, conveniente coloc-lo entre

    parnteses como parte do nome do controle. Se aplicvel, a insero da grandeza

    fsica tambm relevante. Deve-se evitar a utilizao de caracteres especiais, para

    garantir compatibilidade em diferentes plataformas.

    7.2.6. Hierarquia

    Selecionando Browse>Show VI Hierarchy ativa-se a janela de

    hierarquia. Ela mostra uma representao grfica dos relacionamentos de VIs na

    memria, incluindo definies de tipos e variveis globais.

    Pode-se trazer VIs. desta janela para o diagrama de blocos, usando a

    ferramenta Positioning, e fazer uso do mesmo. Tambm permitido selecionar

    partes, e duplic-las em outros diagramas de blocos. Um duplo pulso sobre um n

    abre o painel frontal do referente VI.

    50

  • 7.3. Armazenando VIs

    Os VIs podem ser armazenados em arquivos individuais ou em grupos

    atravs de uma biblioteca. A extenso de um arquivo tipo biblioteca .llb. ANational Instruments recomenda que os VIs sejam armazenados em arquivos

    individuais, organizados em pastas, especialmente se muitos projetistas esto

    trabalhando em conjunto. Deve-se usar nomes descritivos, para tornar fcil a

    identificao e posterior utilizao dos mesmos.

    Existem as seguintes vantagens em armazen-los em arquivos

    individuais:

    y O gerenciamento pode-se ser feito pelo sistema de arquivos, individualmente;

    y Possibilita a organizao em subdiretrios;

    y O armazenamento individual mais robusto que todo o projeto em umarquivo;

    y Pode-se usar as ferramentas de controle de cdigo-fonte do Sistema deDesenvolvimento Profissional (Professional Development System), ou uma outra

    ferramenta de controle de cdigo-fonte independente.

    Mas, tem-se as seguintes justificativas para armazenar VIs como

    bibliotecas:

    y O nome dos arquivos pode alcanar 255 caracteres (Windows);

    y A transferncia de uma biblioteca entre plataformas mais fcil do quetransferir muitos VIs individuais;

    y O tamanho do arquivo levemente reduzido, pois bibliotecas socomprimidas para reduzir exigncias de espao em disco.

    Se bibliotecas forem utilizadas, recomendvel a diviso da aplicao

    em mltiplas bibliotecas, no seguinte formato: VIs de nvel hierrquico elevado em

    uma biblioteca, e outras contendo VIs separados por funo.

    51

  • Pode-se armazenar VIs para uma verso anterior do LabVIEW, para

    efetuar uma atualizao conveniente de verso, e para auxiliar a manuteno de VIs

    em duas verses de LabVIEW quando necessrio. Se houver uma atualizao de

    verso, permitida a recorrncia aos VIs da verso anterior.

    Se um VI for armazenado para uma verso anterior, o LabVIEW

    converte toda a hierarquia, excluindo os arquivos de biblioteca em vi.lib.Geralmente um VI utiliza funcionalidades no disponveis na verso anterior do

    LabVIEW. Em tais casos, convertido tanto quanto possvel, produzindo um

    relatrio do que no se pode converter. O relatrio aparece imediatamente na caixa

    de dilogo Warnings.

    7.4. Disponibilizao de VIs

    Para disponibilizar VIs a outros usurios ou computadores, talvez seja

    necessrio ocultar ou at mesmo remover o cdigo-fonte do diagrama de blocos, de

    forma que no possa ser editado. Estas opes esto dispostas em File>Save With

    Options. Ao remover o diagrama de blocos, o tamanho do arquivo reduzido, e

    impede o transporte de VIs para outras plataformas ou a atualizao para futuras

    verses do LabVIEW. Porm, para garantir a posterior edio dos VIs, deve-se

    realizar este procedimento usando nomes de arquivos distintos dos originais ou

    armazen-los em diretrios diferentes.

    Opo de proteger por senha tambm disponvel, no removendo o

    diagrama de blocos, somente impedindo sua visualizao e edio sem autorizao.

    52

  • Apndice A - IEEE 488: GPIB

    Em 1965, o barramento GPIB foi inventado pela Hewlett-Packard

    Corporation para simplificar a interconexo da sua linha de instrumentos de testes

    programveis com seus computadores. Nesta poca, os computadores eram

    dispositivos volumosos e no tinham portas de interface padronizadas. Instrumentos

    eram premiados se tivessem um conector paralelo com linhas de sada tipo BCD,

    utilizado para conexo com impressoras de 10 a 20 colunas. A operao remota de

    um instrumento tinha limitado nmero de linhas de entrada, em um painel traseiro

    que selecionava poucas funes ou faixas de converso. Uma interface especial

    tinha que ser projetada e montada para cada instrumento que o engenheiro

    adicionasse no seu sistema de testes. Assim, mesmo um simples sistema

    automatizado de testes consumia meses de projeto.

    Como concebido pela HP, o novo Hewlett-Packard Instrument Bus

    (HP-IB) usaria um cabo padro para interconectar mltiplos instrumentos ao

    computador. Cada instrumento teria seu prprio circuito de interface e conjunto

    padro de respostas a comandos. O sistema deveria ser facilmente expansvel tal

    que sistemas de teste com mltiplos instrumentos pudessem se unir atravs de

    cabeamento tipo piggyback (sobre os ombros). Existiriam limitaes de comando de

    instrumentos (mx. 14 instrumentos) e no comprimento do cabo de barramento (20

    metros).

    A Hewlett-Packard props o conceito s entidades de padronizao

    norte-americana e internacional em 1974. Devido a alta taxa de transferncia

    (nominalmente 1MB/s), rapidamente ganhou popularidade. Ele foi adotado pelo

    comit do IEC na Europa em 1975. Nos Estados Unidos, outras industrias de

    instrumentos opuseram-se ao nome HP-IB, e uma nova designao foi criada, a

    GPIB - General Purpose Interface Bus. O barramento GPIB foi formalmente adotado

    como o IEEE-488 em 1978.

    Os dispositivos GPIB podem ser do tipo Talker, Listener e/ou

    Controller. Um Talker envia mensagens de dados para um ou mais Listeners, que

    recebem o dado. O Controller gerencia o fluxo de informao no GPIB por enviar

    comandos a todos os dispositivos. O conceito IEEE-488 de controladores e

    53

  • dispositivos mostrado na Fig. A.1. Controladores tm a capacidade de enviar

    comandos, escrever dados no barramento e ler dados enviados por dispositivos.

    Apesar da possibilidade de muitos controladores conectados ao barramento, em

    qualquer momento somente um controlador o responsvel. Controles podem ser

    enviados a partir deste controlador ativo (CIC: Controller-in-charge - controlador

    responsvel) para qualquer dispositivo com capacidade de controlador.

    Fig. A.1: O Conceito do barramento IEEE 488.

    Os dispositivos so normalmente endereveis e tm formas para

    configurar seus endereos. Cada dispositivo tem um endereo primrio entre 0 e 30.

    O endereo 31 o endereo surdo ou mudo (unlisten ou untalk). Os dispositivos

    tambm podem ter endereos secundrios, que podem ser usados para enderear

    determinadas funes. Por exemplo, um dispositivo que possua canais de

    comunicao pode utilizar o endereamento secundrio para enderear cada canal.

    Apesar de existir 31 endereos primrios, os gerenciadores de dispositivos

    IEEE-488 s reconhecem 14 dispositivos fsicos. A Fig. A.2 apresenta a

    configurao dos bits que compem o endereamento GPIB.

    54

  • Endereo primrio GPIB (0-30)

    End

    ere

    otip

    o Li

    sten

    er

    End

    ere

    otip

    o Ta

    lker

    0

    Significado

    01234567Posio doBit

    Fig. A.2: O endereamento GPIB.

    Alguns dispositivos podem ser configurados para somente falar ou

    somente ouvir. Isto permite a comunicao entre dois dispositivos sem a

    necessidade de um controlador no sistema. Um exemplo um voltmetro digital que

    apresenta leituras e uma impressora que imprime dados.

    O padro IEEE-488 define um instrumento com interface e parties

    do dispositivo como na Fig. A.3. Mensagens e endereos de interfaceamento so

    enviadas do CIC para a funo de interface do dispositivo. Comandos particulares

    de instrumentos, tais como, limites, modo etc., so mensagens de dados que

    passam atravs da interface para o dispositivo.

    Interface GPIB Funes doDispositivoInterface de

    Funes

    Instrumento

    Fig. A.3: Instrumento IEEE 488.

    Estrutura Fsica do Barramento

    Fisicamente, o barramento GPIB composto de 16 linhas de sinal,

    ativo-baixo. As caractersticas eltricas so mostradas na Tab. A.1.

    55