You are on page 1of 81

Universidade Federal do Pará

Instituto de Tecnologia
LabVIEW 8.0
Curso Básico I

Belém – Abril – 2008
1

LabVIEW 8.0 – Curso Básico I (Conteúdo)

 Introdução ao LabVIEW
 Criando uma VI
 Laços de repetição
 Arrays
 Clusters
 Plotando valores numéricos
 Estruturas de decisão
 Aquisição de dados

2

Seção I: Introdução ao LabVIEW
LabVIEW – “Laboratory Virtual Instrument Engineering Workbench”

- Programas chamados de Instrumentos Virtuais (VIs).

- Ferramentas para aquisição, análise, mostragem e
armazenamento de dados.

- VIs têm três componentes principais: painel frontal,
diagrama de blocos e o ícone.

- Interface com controles (painel frontal) e funções
(diagrama de bloco).

3

Seção I: Introdução ao LabVIEW
LabVIEW – “Laboratory Virtual Instrument Engineering Workbench”

-Constrói aplicativos de comunicação com a internet: Web
Server e softwares padrões (TCP/IP).

-Cria teste e medições, aquisição de dados, controle de
instrumentação, análise de medição e geração de relatórios.

- Interpreta aplicativos no formato DLL (Dynamic Link
Library).

4

PXI. NI DAQ. RS-232 e RS- 485) 1 Portadora detectada 2 Recepção de dados 3 Transmissão de dados 4 Terminal de dados pronto 5 Terra 6 Conjunto de dados pronto 7 Pronto para enviar (computador) 8 Envie os dados (modem) 9 Indicador de telefone tocando NI DAQ NI DAQ PCMCIA NI DAQ USB 5 . NI USB.Seção I: Transmissão de dados -Comunica-se com hardwares para aquisição de dados ou outros dispositivos (NI DAQ Card.

PXI é ao mesmo tempo uma plataforma de “baixo custo” com alto desempenho para medições e sistemas de automação. •Freqüência. 6 . •Corrente. •Encoder. •Filtros. Seção I: Transmissão de dados PXI Computador Industrial para aplicações específicas. •Tensão.

Seção I: Transmissão de dados Arquitetura de um Sistema de Aquisição de Dados 7 .

1.2 Tela de Apresentação do LabVIEW 8 .

1. 9 .3 Abrindo uma VI Na guia NEW tem-se a possibilidade de criar uma nova VI. abrir uma VI utilitária (template) ou criar um projeto em branco.

Create New Blank – abre painel frontal e diagrama de blocos (em branco).. Instrument I/O – para comunicar com um instrumento externo acoplado ao computador através de uma porta. DAQ – abre um Painel Frontal e um Diagrama de Blocos com componentes necessários para medir. gerar sinais usando DAQ Assistent Express VI e NI-DAQmx.4 Abrindo uma VI (cont..1. 10 . VI from Template – abre um painel frontal e diagrama de blocos com componentes necessários para construir outra VI. Tutorial .) More . Frameworks – abre um Painel Frontal e um Diagrama de Blocos com componentes e configurações para incluir algum tipo específico de funcionalidade.abre VIs baseados nos exercícios do manual de inicialização. Simulated – com componentes para simular a aquisição de dados de um dispositivo.

e acessa o suporte da NI. Operate – controla a operação de VIs.1. fornecendo documentação. além de gerar executáveis e instaladores. Help – explica e define as características do LabVIEW e outros componentes.com. Window – configura a aparência das janelas. salvar. fechar. View – visualiza paleta de ferramentas e controle. Project – procura e modifica projetos. Tools – configura o MAX e Servidores Web. Edit – procura e modifica arquivos do LabVIEW e seus componentes.5 Barra de Menus File – operações básicas de arquivo: abrir. e imprimir arquivos. 11 .

barras de menu e de ferramentas. indicadores. ícone (ou terminais). 1. barra de ferramentas ícone etiqueta do controle etiqueta do knob controle numérico knob de controle etiqueta da função gráfico xy 12 .6 Painel Frontal O painel frontal consiste de controles.

barras de menu e de ferramentas. ícone. modificações no VI ainda não salvas loop FOR loop FOR terminal de controle numérico terminal gráfico terminal do knob constante numérica 13 .1. indicadores (código fonte).7 Diagrama de Blocos O diagrama de blocos têm controles.

8 Ferramentas do Painel Frontal (Toolbar) pausa ou continua redimensiona objetos executar alinhar objetos ajuda parar configuração do texto executar continuamente reordenar distribuir objetos 14 . 1.

1. 15 .9 Ferramentas do Diagrama de Blocos step into (entra em um subVI) step over (pula um subVI) step out (sai de um subVI) highlight execution Mostra o valor do objeto durante a execução ! Retém a velocidade de processamento do computador ! Esta seta quebrada é exibida quando o VI apresenta erros.

10 Paleta de Ferramentas (Tools Palette) Menu>>Window>>Show Tools Palette. 1. posicionamento seleção automática e redimensionamento de objetos ferramenta operacional editor de texto faz linhas barra de rolagem menu popup parada na execução valor contido no objeto copia cor de objeto ferramenta de colorir 16 .

1. abre Search Controls muda a visualização para... 17 .11 Paleta de Controles Com um click no botão direito do mouse no painel frontal.

1.12 Paleta de Funções Click no botão direito do mouse no diagrama de blocos Muda a visualização da paleta 18 .

13 Caixa de diálogo Search Functions Esta caixa de diálogo é aberta quando é acionado.1. 19 .

1.15 Menu de atalho Object Shortcut Menu Configurações do elemento METER Controle Indicador 20 .

16 Property Dialog Box Configurações do elemento OK BUTTON Indicador Controle Switch When Pressed (chaveada quando pressionada) Switch When Released (chaveada quando liberada) Switch Until Released (chaveada até que liberada) Latch When Pressed (travada quando pressionada) Latch When Released (travada quando liberada) Latch Until Released (travada até que liberada) 21 . 1.

1.17 Controles e indicadores Ilustração de um painel frontal com um controle e um indicador com sua representação no diagrama de blocos. linha Controle Indicador (fio) 22 .

17. e terminais dos elementos.) O painel frontal tem dois controles e um indicador demonstrados na diagrama de blocos evidenciando o fluxo de dados nos fios.1. Fluxo de dados Terminais 23 .1 Controles e indicadores (cont.

1. C I C C I I I C I C 24 .17.2 Controles e Indicadores (cont) Um “template” mais trabalhado ilustra um painel frontal com controle e indicadores utilizado para análise de vibração.

18 Tipos de fio e de dados As linhas são importantes na evolução lógica do fluxo de dados. 1. Cada dado possui característica única. Data Types 25 .

ou um comando (CRTL + H). 26 . uma VI.1.19 Janela context help O Context Help mostra a descrição e os terminais de: uma função.

27 .20 Ajuda do LabVIEW Help A Ajuda do LabVIEW pesquisa informações por: conteúdo.1. palavra e tópico.

textos e outros objetos Botão direito no painel = paletas de controles Botão direito no diagrama = paletas de funções CTRL + (clicar em cima e arrastar) = copia um elemento CTRL + T = janelas lado a lado SHIFT + botão direito = paleta de ferramentas CTRL + I = abre janela de propriedades Barra de espaço ou TAB = alternando entre os itens da paleta de ferramentas 28 . funções. 1.21 Teclas de atalho no teclado CTRL + R = roda o programa CTRL + E = altera entre painel e diagrama CTRL + H = context help CTRL + N = novo painel CTRL + B = remove fios quebrados CTRL + F = procura VIs.

vi Editando ícones.. Editando terminais... Conectores 29 . Seção II: Criando uma VI Exercício 1: CtoF..

1 Usando VIs Exercício 2: Thermometer. 30 .vi O VI a seguir ilustrar um exemplo de obtenção de temperatura em graus celsius ou fahrenheit.2.

vi.vi obtém o coeficiente angular de uma reta cujas coordenadas são ilustradas abaixo. 31 .vi O Slope2.vi) O Slope.vi Exemplo Slope2. Exercício 3: Slope.vi obtém o coeficiente angular utlizando a subVI Slope. 2.2 Criando subVIs (Exercício Slope.

Seção III: Laços de repetições Functions>>Programming>>Structures>>Structures 32 .

O loop só finaliza quando o número de iterações for atingido.1 Loop FOR No loop FOR. o índice (i) começa por zero (default) mas pode ter outro valor.3. O número de iterações é fixo e definido pelo programador. código (1) LabVIEW Loop FOR (2) Fluxograma 33 .

1 Loop FOR Exercício 4: Time Temperature. 34 .vi Esta VI calcula a temperatura correspondente aos segundos decorridos (elased).3.2.

F Lógica AND T F T T F F F F F F F Loop infinito Stop if true estrutura Loops Finitos de túnel Continue if true 35 . Assumindo que SubVI < 10.Seção III: Loop WHILE No loop WHILE. O número de iterações é indefinido e só é atingido quando a condição booleana for satisfeita. o índice (i) começa por zero mas pode ter outro valor.

vi A VI seguinte tem o objetivo de encontrar o número de iterações quando um número pré-determinado (Number to Match) for igual a um valor gerado aleatoriamente (Current Number).1 Loop WHILE Exercício 5: Automatch.3. 36 .1.

3. Exemplo 1: Shift1 Exemplo 2: ShiftStacked 37 .3 Acessando dados anteriores de loop O shift register é a ferramenta onde pode-se acessar dados do loop anterior Ajustando os valores iniciais para (0) e (1) do loop.

o primeiro valor é inserido antes da multiplicação.1 Acessando dados anteriores de loop O Feedback Node insere valores externos dentro das operações intrínsecas ao loop.3.vi 2 4 1 2 4 Valores após a última iteração Valores após o Feedback Node 38 . 3. No exemplo abaixo. enquanto o segundo é posicionado após à operação numérica (X). 1 Exercício 6: Feedback.

diferenciando-se da substituição do “Feedback Node” pelo “Shift Register” na segunda operação do loop.vi. Exercício 7: Feedback2.vi 39 . Acessando dados anteriores de loop Este exercício é similar ao Feedback.

Exercício 8: Feedback3. contudo foram introduzidos três campos correspondente a cada Shift Register). Acessando dados anteriores de loop Este VI é igual ao Feedback2.vi 40 .

1 2 0 Matriz M M   3 2 1   5 0  1 3X 3 X Y Matriz M no painel frontal Vetor com elementos booleanos V  OK OK1X 2 41 . Seção IV: Arrays (Matrizes ou Vetores de mesmo elemento) Os arrays contêm elementos de mesmo tipo. e seu índice inicial é zero.

1 Funções de Arrays Functions>>Programming>>Array 42 .4.

4.vi 1D Array 00 11 2D Array 00 11 12 11 21 22 43 . Exercício 9: Auto-indexing.2 Auto-indexing O exercício a seguir gera um vetor e uma matriz por meio de seus respectivos loops que contém valores aleatórios entre 0 e 1.

2 Array Exercício 10: Arrays.vi Este VI constituido de dois “loops” FOR gera duas matrizes: uma dentro e outra fora do “loop”. 44 .4.

3 Exercício Array Exercise.vi Exercício 11: Array Exercise. a partir do segundo índice (1) trabalhando-se com fator de escala (2). 0 1 2 3 4 45 .vi Esta VI extrai um subarray (2 elementos) de um array aleatório. 4.

vi Um loop FOR gera três Array convertido Para Array dados distintos a partir de O Array 3D é em formato de transposto valores aleatórios criado tabela 46 .4.4 Array in Table.vi A VI seguinte gera uma tabela a partir de três valores aleatórios provenientes do loop FOR Exercício 12: Array in Table.

5. string booleano numérico 47 . Clusters É um agrupamento de dois ou mais tipos diferentes de elementos.

5.vi 48 .1 Criando um Cluster Exercício 13: Cluster 1.

5.1 Funções de Cluster Functions>>Programming>>Cluster & Variant 49 .

vi 50 .1 Clusters Exercício 14: Cluster Exercise.5.

string que identifica onde o erro ocorreu. . Exercício 15: Error Cluster.vi .código inteiro de 32 bits que identifica o erro numericamente.1 Clusters Este VI controla e identifica a entrada e saída de erros dentro de subVIs.valor booleano que indica a ocorrência de um erro. . 51 .5.

.) Simular um erro por meio de uma mudança no status dos elementos de entrada do Cluster.vi (cont.5.modifique qualquer um dos elementos do Cluster. .clique com botão direito na borda do Cluster de entrada.1 Clusters Exercício 15: Error Cluster. 52 .

Seção VI: Plotando valores numéricos Controls>>Graph Waveform Chart: plota valores escalares que dependem dos índices do loop Waveform Graph: plota valores de array que dependem dos índices do loop XY Graph: plota curva(s) de coordenadas cartesianas 53 .

Graph e o XY Graph 54 .Seção VI: Plotando valores numéricos Comparação entre o Chart.

Seção VI: Plotando valores numéricos 6. substituindo na direita 2) scope chart – enche até o final. esvazia e começa de novo 3) sweep chart – varre o gráfico com uma linha (da esquerda à direita) 55 .1 Waveform Chart 1) strip chart – desloca gráfico à esquerda.

Seção VI: Waveform Chart Exercício 15: Chart1.vi 56 .

Seção VI: Plotando valores numéricos Functions>>Programming>>Waveform>>Waveform 57 .

Exercício 15: Resolver e salvar como WGSP.Seção VI: Plotando valores numéricos 6.2.5 58 .vi Padrão: t0=0 dt=1 t0=1 dt=0.1 Waveform Graph: Single Plot 1) Single Plot: quando o gráfico é gerado a partir de um array (vetor).

vi Padrão: t0=0 dt=1 t0=2 dt=0.3 59 .2 Waveform Graph: Multi Plot 2) Multiple Plot: dois ou mais “waveform graphs” estão em um único gráfico (usa-se o Build Array). Exercício 16: Resolver e salvar como WGMP.2.Seção VI: Plotando valores numéricos 6.

2.3 XY Graph: Single Plot 6.vi 6.2.Seção VI: Plotando valores numéricos Exercício 15: Resolver e salvar como XYSP e XYMP.4 XY Graph: Multi Plot 60 .

vi 61 .Seção VI: Plotando valores numéricos Help>>Find Examples>>Search>>XY Graph.

Seção VI: Plotando valores numéricos 3D Surface e 3D Curve Modern>>Graph>>3D Graph 62 .

Seção VII: Estruturas de decisão Functions>>Programming>>Structures>>Structures Algumas VIs recebem dados somente por meio de determinadas condições. 63 .

7.1 Estruturas de decisão 7.1 Stacked Sequence 64 .

. Dado não Seqüência local Dado disponível criada no frame 1 no frame 2 disponível frame 1 no frame 0 Adicionando frames ...1 Adicionando seqüência local Os dados passam de uma Sequence para outra e estão disponíveis depois da execução de todos os frames .são criados na borda da “Sequence”. 65 .. onde os dados unidos (wired) a seqüências locais estão disponíveis apenas os frames subseqüentes (não em frames anteriores). 7.

1 Estruturas de Decisão Exercício 16: Resolver o Time to Match.vi Esta VI determina a diferença entre contadores final e inicial para a aproximação de um número 66 . 7.

7.2 Estrutura Sequence (Flat) Functions>>Programming>>Structures>>Flat Sequence Structure Esta estrutura é disposta simular a uma seqüência de filmes (frames) 67 .

vi 1 2 3 68 .2 Comparação entre o Sequence e o Flat Exemplo Time2Match. 7.vi Frame 0 Frame 1 Frame 2 Exemplo Time2MatchFlat.

7.3 Estruturas de decisão: Case Structure Exercício 17: Resolver o exercício square root.vi Esta VI determina a raiz quadrada de um número natural 69 .

4 Formula Node Exercício 18: Resolver o formula node exercise.vi Expressões analíticas a  tanh( x )  cos( x ) y  a3  a 70 .7.

5 Event Structure Functions>>Programming>>Structures>>Event Structure 71 .7.

7.5 Event Structure
Exercício 19: Resolver o Event Structure.vi

72

Seção VIII: Aquisição de dados (DAQ)
A aquisição de dados destina-se a conexões com sinais analógicos
ou digitais armazenados em buffer e depois processados por um
computador para tratamento de sinais, verificação de ultrapassagem
de limites, comportamento intermitentes.

73

8.1 Aquisição de dados (DAQ)
Para a aquisição de dados os drives da placa devem ser instalados
inicialmente, só assim é permitido que os VIs sejam acessados.
Painel frontal para a aquisição de dados de um gerador de funções e
plotagem em gráfico .

-Placas digitalizadoras aceita sinais +- 10V

-Componentes DAQ:
Transdutor
Condicionador de sinal
Placa de aquisição: Plug-in DAQ Device
Driver (aceita a placa para fazer as medições)
Software

74

8.2 DAQ no LabVIEW

NI-DAQmx
Traditional NI-DAQ
Driver de nova geração:
VIs específicos para
• VIs de configuração
executar:
DAQ através do
• Entrada Analógica
diagrama de bloco
• Saída Analógica
• Utilizado em placas da
• Digital I/O
série M.
• Counter operations

75

3 Componentes do sistema DAQ Tradicional NI DAQ 76 .8.

8.3 Componentes do sistema DAQ Exercício 19: Aquisição de dados.vi 77 .

8.4 Configuração do DAQ Hardware Functions>>Express>>NI-DAQ Assistant Selecionando entrada analógica 78 .

4 Configuração do DAQ Hardware Selecionando o tipo de entrada analógica 79 . 8.

8.4 Configuração do DAQ Hardware Measument & Automatic Explorer Configuração de canais e tarefas 80 .

Six Hours .html#onedim 81 .edu/me295/modules/labview/arrays/connect.Version 7 LabVIEW Basic I: Development Course Manual http://attila.sdsu.Fontes de informação LabVIEW Introduction .