Anda di halaman 1dari 81

Universidade Federal do Par

Instituto de Tecnologia
LabVIEW 8.0
Curso Bsico I

Belm Abril 2008


1
LabVIEW 8.0 Curso Bsico I (Contedo)

Introduo ao LabVIEW
Criando uma VI
Laos de repetio
Arrays
Clusters
Plotando valores numricos
Estruturas de deciso
Aquisio de dados

2
Seo I: Introduo ao LabVIEW
LabVIEW Laboratory Virtual Instrument Engineering Workbench

- Programas chamados de Instrumentos Virtuais (VIs).

- Ferramentas para aquisio, anlise, mostragem e


armazenamento de dados.

- VIs tm trs componentes principais: painel frontal,


diagrama de blocos e o cone.

- Interface com controles (painel frontal) e funes


(diagrama de bloco).

3
Seo I: Introduo ao LabVIEW
LabVIEW Laboratory Virtual Instrument Engineering Workbench

-Constri aplicativos de comunicao com a internet: Web


Server e softwares padres (TCP/IP).

-Cria teste e medies, aquisio de dados, controle de


instrumentao, anlise de medio e gerao de relatrios.

- Interpreta aplicativos no formato DLL (Dynamic Link


Library).

4
Seo I: Transmisso de dados
-Comunica-se com hardwares para aquisio de dados ou outros
dispositivos (NI DAQ Card, NI DAQ, NI USB, PXI, RS-232 e RS-
485)

1 Portadora detectada
2 Recepo de dados
3 Transmisso 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
Seo I: Transmisso de dados
PXI
Computador Industrial para aplicaes especficas.
Tenso.
Corrente.
Filtros.
Freqncia.
Encoder.

PXI ao mesmo tempo uma plataforma de baixo custo com alto desempenho para
medies e sistemas de automao.

6
Seo I: Transmisso de dados
Arquitetura de um Sistema de Aquisio de Dados

7
1.2 Tela de Apresentao do LabVIEW

8
1.3 Abrindo uma VI
Na guia NEW tem-se a possibilidade de criar uma nova VI,
abrir uma VI utilitria (template) ou criar um projeto em branco.

9
1.4 Abrindo uma VI (cont.)
More ...
Create New
Blank abre painel frontal e diagrama de blocos (em branco).
VI from Template abre um painel frontal e diagrama de
blocos com componentes necessrios para construir outra VI.
DAQ abre um Painel Frontal e um Diagrama de Blocos com
componentes necessrios para medir, gerar sinais usando
DAQ Assistent Express VI e NI-DAQmx.
Frameworks abre um Painel Frontal e um Diagrama de
Blocos com componentes e configuraes para incluir algum
tipo especfico de funcionalidade.
Instrument I/O para comunicar com um instrumento externo
acoplado ao computador atravs de uma porta.
Simulated com componentes para simular a aquisio de
dados de um dispositivo.
Tutorial - abre VIs baseados nos exerccios do manual de
inicializao. 10
1.5 Barra de Menus

File operaes bsicas de arquivo: abrir, fechar, salvar, e


imprimir arquivos.
Edit procura e modifica arquivos do LabVIEW e seus
componentes.
View visualiza paleta de ferramentas e controle.
Project procura e modifica projetos, alm de gerar
executveis e instaladores.
Operate controla a operao de VIs.
Tools configura o MAX e Servidores Web.
Window configura a aparncia das janelas.
Help explica e define as caractersticas do LabVIEW e outros
componentes, fornecendo documentao, e acessa o
suporte da NI.com. 11
1.6 Painel Frontal
O painel frontal consiste de controles, indicadores, cone (ou
terminais), barras de menu e de ferramentas.
barra de ferramentas

cone

etiqueta do controle etiqueta do knob

controle numrico
knob de controle
etiqueta da funo

grfico xy

12
1.7 Diagrama de Blocos
O diagrama de blocos tm controles, indicadores (cdigo
fonte), cone, barras de menu e de ferramentas.
modificaes no VI ainda no salvas

loop FOR
loop FOR
terminal de controle
numrico
terminal grfico

terminal
do knob

constante numrica

13
1.8 Ferramentas do Painel Frontal (Toolbar)
pausa ou continua redimensiona objetos
executar
alinhar objetos ajuda
parar configurao do texto

executar continuamente reordenar

distribuir objetos

14
1.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 execuo !
Retm a velocidade de processamento do computador !

Esta seta quebrada exibida quando o VI apresenta erros.


15
1.10 Paleta de Ferramentas (Tools Palette)
Menu>>Window>>Show Tools Palette.

posicionamento
seleo automtica e redimensionamento de
objetos
ferramenta operacional editor de texto

faz linhas barra de rolagem


menu popup
parada na execuo
valor contido no objeto copia cor de objeto

ferramenta de colorir

16
1.11 Paleta de Controles
Com um click no boto direito do mouse no painel frontal.

abre Search Controls

muda a visualizao para...

17
1.12 Paleta de Funes
Click no boto direito do mouse no diagrama de blocos
Muda a visualizao da paleta

18
1.13 Caixa de dilogo Search Functions
Esta caixa de dilogo aberta quando acionado.

19
1.15 Menu de atalho Object Shortcut Menu
Configuraes do elemento METER
Controle Indicador

20
1.16 Property Dialog Box
Configuraes 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.17 Controles e indicadores
Ilustrao de um painel frontal com um controle e um indicador com
sua representao no diagrama de blocos.

linha
Controle Indicador
(fio)

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

Terminais

23
1.17.2 Controles e Indicadores (cont)
Um template mais trabalhado ilustra um painel frontal com controle
e indicadores utilizado para anlise de vibrao.

C I C

I
I

C
I
C

24
1.18 Tipos de fio e de dados
As linhas so importantes na evoluo lgica do fluxo de dados.

Cada dado possui caracterstica nica.

Data Types

25
1.19 Janela context help
O Context Help mostra a descrio e os terminais de: uma funo,
uma VI, ou um comando (CRTL + H).

26
1.20 Ajuda do LabVIEW Help
A Ajuda do LabVIEW pesquisa informaes por: contedo, palavra e
tpico.

27
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, funes, textos e outros objetos
Boto direito no painel = paletas de controles
Boto direito no diagrama = paletas de funes
CTRL + (clicar em cima e arrastar) = copia um elemento
CTRL + T = janelas lado a lado
SHIFT + boto direito = paleta de ferramentas
CTRL + I = abre janela de propriedades
Barra de espao ou TAB = alternando entre os itens da paleta
de ferramentas
28
Seo II: Criando uma VI
Exerccio 1: CtoF.vi

Editando cones... Editando terminais...


Conectores

29
2.1 Usando VIs
Exerccio 2: Thermometer.vi
O VI a seguir ilustrar um exemplo de obteno de temperatura em
graus celsius ou fahrenheit.

30
2.2 Criando subVIs (Exerccio Slope.vi)
O Slope.vi obtm o coeficiente angular de uma reta cujas
coordenadas so ilustradas abaixo.
Exerccio 3: Slope.vi

Exemplo Slope2.vi
O Slope2.vi obtm o coeficiente angular
utlizando a subVI Slope.vi.
31
Seo III: Laos de repeties
Functions>>Programming>>Structures>>Structures

32
3.1 Loop FOR
No loop FOR, o ndice (i) comea por zero (default) mas pode ter
outro valor. O nmero de iteraes fixo e definido pelo
programador. O loop s finaliza quando o nmero de iteraes
for atingido.

cdigo

(1) LabVIEW Loop FOR (2) Fluxograma

33
3.2.1 Loop FOR
Exerccio 4: Time Temperature.vi
Esta VI calcula a temperatura correspondente aos segundos
decorridos (elased).

34
Seo III: Loop WHILE
No loop WHILE, o ndice (i) comea por zero mas pode ter outro valor.
O nmero de iteraes indefinido e s atingido quando a condio
booleana for satisfeita. Assumindo que SubVI < 10.

F Lgica AND T F
T T F
F F F F

F
Loop infinito
Stop if true
estrutura
Loops Finitos de tnel
Continue if true

35
3.1.1 Loop WHILE
Exerccio 5: Automatch.vi
A VI seguinte tem o objetivo de encontrar o nmero de iteraes
quando um nmero pr-determinado (Number to Match) for igual a um
valor gerado aleatoriamente (Current Number).

36
3.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.
Exemplo 1: Shift1

Exemplo 2: ShiftStacked

37
3.3.1 Acessando dados anteriores de loop
O Feedback Node insere valores externos dentro das operaes
intrnsecas ao loop. No exemplo abaixo, o primeiro valor inserido
antes da multiplicao; enquanto o segundo posicionado aps
operao numrica (X).

1
Exerccio 6: Feedback.vi 2
4

1
2
4
Valores aps a ltima iterao Valores aps o Feedback Node
38
Acessando dados anteriores de loop
Este exerccio similar ao Feedback.vi, diferenciando-se da
substituio do Feedback Node pelo Shift Register na segunda
operao do loop.

Exerccio 7: Feedback2.vi

39
Acessando dados anteriores de loop
Este VI igual ao Feedback2, contudo foram introduzidos trs campos
correspondente a cada Shift Register).

Exerccio 8: Feedback3.vi

40
Seo IV: Arrays (Matrizes ou Vetores de mesmo elemento)
Os arrays contm elementos de mesmo tipo, e seu ndice inicial zero.

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 OK1X 2

41
4.1 Funes de Arrays
Functions>>Programming>>Array

42
4.2 Auto-indexing
O exerccio a seguir gera um vetor e uma matriz por meio de seus
respectivos loops que contm valores aleatrios entre 0 e 1.

Exerccio 9: Auto-indexing.vi

1D Array
00 11

2D Array
00 11 12
11 21 22
43
4.2 Array
Exerccio 10: Arrays.vi
Este VI constituido de dois loops FOR gera duas matrizes: uma
dentro e outra fora do loop.

44
4.3 Exerccio Array Exercise.vi
Exerccio 11: Array Exercise.vi
Esta VI extrai um subarray (2 elementos) de um array aleatrio, a partir
do segundo ndice (1) trabalhando-se com fator de escala (2).

0 1 2 3 4

45
4.4 Array in Table.vi
A VI seguinte gera uma tabela a partir de trs valores aleatrios
provenientes do loop FOR

Exerccio 12: Array in Table.vi

Um loop FOR gera trs Array convertido


Para Array
dados distintos a partir de O Array 3D em formato de
transposto
valores aleatrios criado tabela

46
5. Clusters
um agrupamento de dois ou mais tipos diferentes de elementos.
string
booleano
numrico

47
5.1 Criando um Cluster
Exerccio 13: Cluster 1.vi

48
5.1 Funes de Cluster
Functions>>Programming>>Cluster & Variant

49
5.1 Clusters
Exerccio 14: Cluster Exercise.vi

50
5.1 Clusters
Este VI controla e identifica a entrada e sada de erros dentro de subVIs.
Exerccio 15: Error Cluster.vi

- valor booleano que indica a ocorrncia de um erro.


- cdigo inteiro de 32 bits que identifica o erro numericamente.
- string que identifica onde o erro ocorreu.

51
5.1 Clusters
Exerccio 15: Error Cluster.vi (cont.)
Simular um erro por meio de uma mudana no status dos elementos
de entrada do Cluster.
- clique com boto direito na borda do Cluster de entrada.
- modifique qualquer um dos elementos do Cluster.

52
Seo VI: Plotando valores numricos
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
Seo VI: Plotando valores numricos
Comparao entre o Chart, Graph e o XY Graph

54
Seo VI: Plotando valores numricos
6.1 Waveform Chart

1) strip chart desloca grfico esquerda;


substituindo na direita

2) scope chart enche at o final, esvazia e


comea de novo

3) sweep chart varre o grfico com uma linha


(da esquerda direita)

55
Seo VI: Waveform Chart
Exerccio 15: Chart1.vi

56
Seo VI: Plotando valores numricos
Functions>>Programming>>Waveform>>Waveform

57
Seo VI: Plotando valores numricos
6.2.1 Waveform Graph: Single Plot
1) Single Plot: quando o grfico gerado a partir de um array (vetor);
Exerccio 15: Resolver e salvar como WGSP.vi

Padro:
t0=0
dt=1

t0=1
dt=0,5

58
Seo VI: Plotando valores numricos
6.2.2 Waveform Graph: Multi Plot
2) Multiple Plot: dois ou mais waveform graphs esto em um
nico grfico (usa-se o Build Array).

Exerccio 16: Resolver e salvar como WGMP.vi

Padro:
t0=0
dt=1

t0=2
dt=0,3

59
Seo VI: Plotando valores numricos
Exerccio 15: Resolver e salvar como XYSP e XYMP.vi
6.2.3 XY Graph: Single Plot

6.2.4 XY Graph: Multi Plot

60
Seo VI: Plotando valores numricos
Help>>Find Examples>>Search>>XY Graph.vi

61
Seo VI: Plotando valores numricos
3D Surface e 3D Curve
Modern>>Graph>>3D Graph

62
Seo VII: Estruturas de deciso
Functions>>Programming>>Structures>>Structures
Algumas VIs recebem dados somente por meio de determinadas condies.

63
7.1 Estruturas de deciso
7.1 Stacked Sequence

64
7.1 Adicionando seqncia local
Os dados passam de uma Sequence para outra e esto disponveis
depois da execuo de todos os frames ...

Dado no Seqncia local Dado disponvel


criada no frame 1 no frame 2
disponvel
frame 1
no frame 0

Adicionando frames

...so criados na borda da Sequence, onde os dados unidos (wired) a


seqncias locais esto disponveis apenas os frames subseqentes
(no em frames anteriores).
65
7.1 Estruturas de Deciso
Exerccio 16: Resolver o Time to Match.vi

Esta VI determina a diferena


entre contadores final e inicial
para a aproximao de um
nmero

66
7.2 Estrutura Sequence (Flat)
Functions>>Programming>>Structures>>Flat Sequence Structure
Esta estrutura disposta simular a uma seqncia de filmes (frames)

67
7.2 Comparao entre o Sequence e o Flat
Exemplo Time2Match.vi

Frame 0
Frame 1

Frame 2
Exemplo Time2MatchFlat.vi

1
2 3

68
7.3 Estruturas de deciso: Case Structure
Exerccio 17: Resolver o exerccio square root.vi

Esta VI determina a raiz quadrada


de um nmero natural

69
7.4 Formula Node
Exerccio 18: Resolver o formula node exercise.vi

Expresses analticas a tanh( x ) cos( x )


y a3 a

70
7.5 Event Structure
Functions>>Programming>>Structures>>Event Structure

71
7.5 Event Structure
Exerccio 19: Resolver o Event Structure.vi

72
Seo VIII: Aquisio de dados (DAQ)
A aquisio de dados destina-se a conexes com sinais analgicos
ou digitais armazenados em buffer e depois processados por um
computador para tratamento de sinais, verificao de ultrapassagem
de limites, comportamento intermitentes.

73
8.1 Aquisio de dados (DAQ)
Para a aquisio de dados os drives da placa devem ser instalados
inicialmente, s assim permitido que os VIs sejam acessados.
Painel frontal para a aquisio de dados de um gerador de funes e
plotagem em grfico .

-Placas digitalizadoras aceita sinais +- 10V

-Componentes DAQ:
Transdutor
Condicionador de sinal
Placa de aquisio: Plug-in DAQ Device
Driver (aceita a placa para fazer as medies)
Software

74
8.2 DAQ no LabVIEW

NI-DAQmx
Traditional NI-DAQ
Driver de nova gerao:
VIs especficos para
VIs de configurao
executar:
DAQ atravs do
Entrada Analgica
diagrama de bloco
Sada Analgica
Utilizado em placas da
Digital I/O
srie M.
Counter operations

75
8.3 Componentes do sistema DAQ
Tradicional NI DAQ

76
8.3 Componentes do sistema DAQ
Exerccio 19: Aquisio de dados.vi

77
8.4 Configurao do DAQ Hardware
Functions>>Express>>NI-DAQ Assistant
Selecionando entrada analgica

78
8.4 Configurao do DAQ Hardware

Selecionando o tipo de entrada analgica

79
8.4 Configurao do DAQ Hardware
Measument & Automatic Explorer

Configurao de canais e tarefas

80
Fontes de informao

LabVIEW Introduction - Six Hours - Version 7

LabVIEW Basic I: Development Course Manual

http://attila.sdsu.edu/me295/modules/labview/arrays/connect.html#onedim

81