Você está na página 1de 56

Introduo ao Labview

Parte I
Prof. Dr.Valner J. Brusamarello DELET UFRGS

www.chasqueweb.ufrgs.br/~valner.brusamarello

Instrumentao Virtual

Integrao hardware / software


transparente e fcil.
Linguagem modular.
Programao grfica.
Integrao de diferentes
aplicaes em uma nica
linguagem.
Aplicaes diversas: Jigas de
testes, automao de
processos, superviso de
sistemas, etc.
Atualmente o LABVIEW pode
rodar em diferentes plataformas:
multitarefas (ex.: windows),
plataforma de tempo real,
embedded systems (ex.:
FPGA,s).

The Virtual Instrumentation Approach

Instrumentao Virtual

Um instrumento virtual consiste de


computadores ou estaoes de trabalho
equipados com softwares de aplicaes
em,hardware como placas de aquisiao de
dados, alm de drivers de comunicao,
os quais, juntos assumem as funoes de
instrumentos tradicionais.
A principal caracterstica dos instrumentos
virtuais reside na explorao profunda da
flexibilidade de software agregada a um
hardware fundamental.
Alm do esperado aumento de
desempenho com a introduo de tcnicas
flexveis e customizadas de
processamento, existe ainda a vantagem
da reduao de custos, uma vez que a
plataforma sempre a mesma.
Comentrio: A NI, alm de criar uma
ferramenta poderosa que disseminou a
sua marca, incrementou de forma
impressionante o seu mercado de
hardware, liderando tentativas de
padronizaes nesse sentido.

The NI Approach Integrated Hardware Platforms

PXI Modular Instrumentation

High-Speed High-Resolution
Multifunction
Dynamic
Instrument
Digitizers and DMMs Data Acquisition Signal Acquisition Control
Digitizers

Signal Conditioning
and Switching

Unit Under Test

Laptop PC

Desktop PC

Digital I/O

Counter/
Timers

Machine
Vision

Motion
Control

Distributed I/O and


Embedded Control

PDA

Instrumentao Virtual

PXI PCI Extensions for Instrumentation


Sistemas modulares multi-funcionais
controlados pelo labview

O que o LabVIEW?
Ambiente de desenvolvimento de programas em
linguagem grfica (VI);
Os VIs (Virtual Instruments) so programas grficos:
cones so utilizados ao invs de linhas de cdigo.
Possibilitam controle de processos, fluxo, aquisio e
processamento de dados.
Principal caracterstica: facilidade de integrao.
O Labview possui uma variedade de funes, porm
voc pode adquirir mdulos especficos (por exemplo
de real time applications) .
Voc tambm pode construir bibliotecas de Vis.

Introduo: Inicializando o Labview


Inicialize o Labview
Podemos iniciar um novo
programa: Blank VI.
Ou podemos explorar a
extensa biblioteca de
exemplos.
Explore tambm o
poderoso Help do
Labview.
Finalmente, em caso de
dvidas, busque apoio na
Internet: temos vrias
opoes em web
resources.

Ambiente LabVIEW

Cada VI possui
duas janelas:
Painel Frontal e
Diagrama de
blocos

Painel frontal Ambiente visual


Controles = Entradas
Indicadores = Sadas

Ambiente LabVIEW

Diagrama de Blocos Ambiente de Programao


Componentes do Painel frontal e blocos de funes so conectados com
wires, que mudam de acordo com o tipo de dados.

Painel Frontal Controls Palette


Controls Palette
Contm os controles e
indicadores

Acesso:
Boto Direito no Painel Frontal

Painel Frontal - Controles e


Indicadores
Barra de
Ferramentas

Label do
Grfico de
Formas de
Onda
Grfico de
Formas de
Onda
Ferramentas do
Grfico

cone

Legenda
do Grfico
Barra de
Rolagem
Eixo X
Controle:
Parar

Diagrama de Blocos Functions


Palette

Functions Palette
Contm as funes

Acesso:
Boto Direito (mouse) no Diagrama de Blocos

Diagrama de Blocos
Barra de
Ferramentas

Funo de
Diviso
Terminal de
Grfico de
Forma de
Onda

Estrutura de
Loop While

Conexo
De Dados

Constante
Numrica

Terminal de um
Controle
Booleano
Funo De Tempo

Criao de projeto

NewEmpty Project para criar um novo projeto

Criando um novo VI

My computerNewVI

Criando um SubVI
Um SubVI um VI que utilizado por outro VI.
utilizado para simplificar o programa

rea selecionada

EditCreate SubVI

SubVI criado

SubVIs
Modularidade
No LabVIEW componentes separados de um VI
so chamados subVIs.
Utilizados quando um determinado cdigo
precisa ser executado sistematicamente com
diferentes entradas.
Analogo s funoes do c.
Qualquer cgigo ou parte de cdigo LabVIEW
pode ser transformado em um SubVI e assim
ser chamado de programa.

Criando um subvi: implementar


esse exemplo.

SubVI

Um subVI corresponde a uma chamada de subrotina em uma


linguagem texto
Os controles do subVI e os seu indicadores recebem e retornam
dados do VI de chamada.
Criando um SubVIs de partes de um VI
Converta a parte do VI em um subVI usando a ferramenta
Positioning para selecionar a parte do diagrama de blocos que voc
quer utilizar e seleciona EditCreate SubVI.
Um cone para o novo subVI substitui a parte selecionada. O
LabVIEW cria controles e indicadores para o novo subVI,
automaticamente configura o mesmo e liga o subVI s conexes
existentes.
Veja HelpSearch the LabVIEW Help.

Em outras linguagens

subvi

Icon e connect panel


O Icon e Connector Pane permite definir os dados
transferidos para e do subVI e tambm a sua aparncia
no cdigo LabVIEW principal.
Todo VI mostra um cone no canto superior direito das
janelas do front panel e do block diagram.
DEpois de construir um VI, construa o cone e o
connector pane assim voc pode usar o VI como um
subVI.
O icon e o connector pane correspondem ao prottipo
da funo em linguagens texto. Existem muitas opes
para o connector pane, mas alguns padres gerais so
especificados.
No canto superior direito do front panel voce tem acesso
ao connect panel e ao Icon editor. Explore-o!

Icon e connect panel

Exerccio explorar!!

Crie um subVI de um novo VI adicione 2 entradas e e uma sada que a soma das entradas.
Abra um new VI (Ctrl+N).
Posicione a funao Add (Programming Numeric) no diagrama de blocos.
Crie controles e indicadores com um duplo clique e selecionando Create Control or Indictor. O diagrama de blocos e o Front Panel devem
parecer.

No Front Panel-> boto direito no cone no canto superior direito e selecione Show Connector para revelar o Connector Pane.

Atribua terminais do cone aos dois controles e indicadores com boto esquerdo no cone terminal e e esnto clicando o indicador / controle
desejado

Exerccio criando um subvi

Boto direito no Connector Panel e selecione Edit Icon. Isso vai carregar o Editor de cones.

Modifique os grficos para uma representao mais correta da funao do SubVI, nesse caso
adiao.

Salve o SubVI.

Criando uma Library

My ComputerNewLibrary

Adicionando um SubVI a uma Library

My ComputerLibraryNewVI

Barra de Ferramentas
Run button

Font ring

Continuous Run button

Alignment ring

Abort button

Distribution ring

Pause/Continue button

Resize ring

Warning indicator
Enter button
Broken Run button

Reorder ring
Botes adicionais da barra
do diagrama em blocos
Context Help Button
Execution Highlighting button
Step Into button
Step Over button
Step Out button

HELP do LabVIEW
Para visualizar a janela de Context Help, selecione
HelpShow Context Help, ou pressione as teclas <Ctrl-H>, ou
ainda pressione o boto Show Context Help Window na barra de
ferramentas
Mova o cursor at o objeto
para visualizar seu help
especfico

Simple/Detailed Context Help

Lock Help

More Help

LabVIEW HELP - Examples

HelpFind Examples

LabVIEW - Discussion Forums

http://www.ni.com/support/

Demonstrao 1: Criando um VI
Abra o Labview e abra uma rea para um blank VI.
Separe o painel frontal do diagrama de blocos
No painel frontal, clique com o boto direito do
mouse e entre na paleta de ferramentas do tipo
graph. Escolha waveform graph e arraste o cone
para a rea de trabalho.
Novamente clique com o boto direito e entre no
menu numeric. Escolha dois knobs e arraste-os
para a rea de trabalho.
Utilize a ferramenta para alinhar os knobs.

Demonstrao 1: Criando um VI

Demonstrao 1: Criando um VI
V para o diagrama de blocos e clique com o boto direito
do mouse para ter acesso s funoes.
Entre em express e escolha o bloco simulate signal.
Aceite os defaults dando um OK.
Na rea de trabalho, abra o bloco com o mouse.
Faa a conexo da sada desse bloco para o grfico.
Faa a conexo de um dos knobs ao pino Amplitude.
Repita a operao para o pino Frequncia.
Antes de rodar, clique com o boto da direita no knob
ligado na frequncia e mude a escala para variar de 0 a
10000 em propriedades.
Rode! O que aconteceu?

Demonstrao 1: Criando um VI

Demonstrao 1: Criando um VI

Basicamente, mandamos o labview rodar uma vez apenas!


O bloco de simulao, gera 1000 pontos e os mesmos so impressos
no grficos e fim!
Se quisermos que o programa rode indefinitivamente, devemos
adicionar um lao.
Se quisermos ter controle devemos colocar um controle um boto
stop.
Clique com o boto da direita do mouse. Entre em strutures e arraste o
lao while em volta do VI.
O pequeno i na esquerda indica o nmero de interaes. Voc pode
adicionar um indicador (clique com o boto direito do mouse no
terminal do i
create
indicator).
O sinal vermelho no canto direito indica a parada. Devemos adicionar
um boto de controle (clique com o boto direito do mouse no terminal
do dispositivo
create
control).
Rode novamente!
Ao tentar mudar a frequncia voc ver uma mensagem de erro.
Conserte o problema!

Labview
O LabVIEW segue um modelo de fluxo dos dados para rodar os VIs.
Um n do diagrama de blocos executado quando todas as entradas esto
disponveis.
Quando um n executado, o dado ento disponibilizado para as sadas
(indicadores). Esse modelo propagado para os ns seguintes.
Visual Basic, C++, JAVA, e a maioria das linguagens de programao
baseadas em texto tem o controle do fluxo determinado pela oerdem de
sequncia dos elementos do programa.
Considere um diagrama de blocos com dois nmeros sendo adicionados. O
resultado ento multiplicado por 2.
Nesse caso, a execuo do programa ocorre da esquerda para direita.
A funao de multiplicao s passa a ser vlida aps a soma estar
concluda.
Quando dois blocos de programa esto em paralelo e so independentes, os
mesmos so executados e tem seus fluxos independentes. Se o computador
tiver processadores mltiplos, os dois pedaos de cdigo poderiam rodar
totalmente independentes um do outro.

Labview

Tcnicas de Debugging
Quando o VI no est executvel uma seta
quebrada mostarda no boto de Run.
Encontrando Erros: Para listar, clique na seta
quebrada. Para localizar o objeto com problemas,
clique na mensagem de erro.
Execution Highlighting (pequena lmpada no
toolbar do painel): Anima o diagrama e mostra o
fluxo dos dados, permitindo a visualizao de
valores intermedirios.
Probe: Usada ver valores em arrays e clusters.
Clique nos wires com a ferramenta Probe ou
clique com o boto direito do mouse.
Retain Wire Values: Usado em conjunto com as
probes para ver os valores da ltima interao do
programa.
Breakpoint: Arma pausas em diferentes locais do
diagrama. Clique nos wires ou objetos com a
ferramenta Breakpoint.

Exemplo

Exemplo de construo de um
VI

No diagrama de blocos com o clicar com o boto direito e entrar no


menu express. Escolha o bloco Simulate Signal e arraste-o duas
vezes para a rea de trabalho.
Configure o bloco boto direito do mouse propriedades.
Express->Signal Analysis-> Filter.
Configure o bloco para um passa baixas com freq. De corte de 100
Hz.
Express->Output-> Write to Measurement File.
Com o boto direito-> propriedades.
Express->Signal Manipulation->Merge (para unir dois sinais)
V ao painel de trabalho e escolha o grfico: Boto direito na rea
de trabalho->Graph->waveform graph.
Clique com o boto direito na rea de trabalho e escolha em
Numeric->Vertical Point slide
Clique com o boto direito na rea de trabalho e escolha em
Numeric->Meter
No diagrama de blocos, insira um lao while: Programming>structures->while loop
Por fim,no diagrama de blocos clique com o botao direito no STOP e
adicione um controle (boto).
Veja que os controles colocados na rea de trabalho do front Panel
aparecem como cones no diagrama de blocos.

Painel de controle

Tipos de funes

Express VIs: VIs interativos


configurveis: borda azul

Standard VIs: VIs modulares


customizados

Funes: Operaes bsicas

Que tipos de funes so disponibilizadas?

Entrada e sada:
Simulao de sinais e dados
Aquisio e gerao de sinais com DAQs
Comunicao (serial (USB, TCP-IP), GPIB)
ActiveX para comunicao com outros programas
Anlise:
Processamento de sinais
Estatstica
Matemtica avanada e frmulas
Continuos time solver
Armazenamento:
I/O de arquivos
Observao: MUITAS FERRAMENTAS DO LABVIEW PODEM SER
ADQUIRIDAS NA FORMA DE PACOTES ESPECFICOS: Real Time,
Processamento de Imagens, FPGA, entre outros
http://www.ni.com/toolkits

Exerccio 1
Realizao de uma soma de dois
nmeros
Inserir os elementos no Block Diagram.
Selecionar os elementos:
(a) Na janela Functions selecionar Programming,
Numeric e Add
(b) Arrastar o VI Add para o espao de trabalho;
(c) Clicar 1X com o boto direito do mouse (sobre
o VI de interesse). Ir abrir uma janela que permite
criar rtulos (labels), apresentar terminais, criar
dispositivos de entrada e sada (quando for o caso),
apresentar o correspondente help, entre outras
funes. O rtulo deste VI deve ser SOMADOR
(clicar sobre o rtulo default, apagando-o e
digitando SOMADOR).

Exerccio 2
Outras operaes e
controles
Desenvolver
um
programa para somar,
subrair,
dividir
e
multiplicar dois nmeros
X e Y. Selecionar outros
dispositivos de sada
(usar agora o painel
frontal para seleo de
novos VIs de sada). Para
realizar
as
ligaes
utilizar o boto Connect
Wire do Tools Palette.

Exerccio 3:

Utilize as
tcnicas de
debugging para
encontrar os
erros no
programa ao
lado

Exerccio 4

Ok! Agora vamos


explorar alguns
recursos (que
depois sero
detalhados). Siga
as instrues:
Passo 1: Inicie o
Labview. Voc
ver esta tela:

Exerccio 4 (calma!... Estamos


recapitulando o que vimos...)

Passo 2: Selecione blank VI (VI


a
sigla
de
VIRTUAL
NSTRUMENT). Fazendo isso voc
ter acesso a rea de trabalho, a
qual dividida em duas janelas: a
janela de visualizao do VI
Front Panel e a janela do
diagrama de blocos, onde os
programas so desenvolvidos.
Passo 3: No diagrama de blocos
com o menu de funes aberto
(Figura anterior), abra a funo
express Signal Analysis e
escolha Simulate signal.

Exerccio 4 (calma!... Estamos recapitulando o


que vimos... Adicionando novos componentes)

Arraste este componente


para a rea de trabalho e se
desejar voc pode modificar
as propriedades do mesmo
clicando com o boto direito.
O default uma onda
senoidal de 10 Hz.
Passo 4: V ao Front Panel
e no menu de controles,
selecione Modern e arraste
a ferramenta
Graph.Novamente com o
boto direito do mouse voc
pode modificar as
propriedades da ferramenta.

Exerccio 4 (calma!... Estamos recapitulando o


que vimos... Adicionando novos componentes)

Passo 5: Volte ao diagrama de


blocos e ligue a sada do bloco
simulador a entrada da
ferramenta de grficos. Mande
rodar e voc ver o sinal
simulado na ferramenta de
grfico.
Voc dever ver no grfico o
seguinte resultado:

Exerccio 4 (calma!... Estamos recapitulando o


que vimos... Adicionando novos componentes)

Que uma onda senoidal com 10Hz.


Passo 6: Agora vamos adicionar uma formula
matemtica para manipular o sinal de sada e
mostrar isso no grfico. No Diagrama de Bloco
abra a Paleta de Funes e selecione
Mathematics, Scripts e Formulas e v em
Frmula.
Insira a frmula no bloco de diagrama, e
aparecer a seguinte tela:

Onde possvel assim como se fosse uma


calculadora criar funes e execut-las. Iremos
multiplicar por 10 a nossa onda para termos
um incremento na amplitude da onda.
Em Label X1, iremos substituir X1 por Sine
ou Seno como desejar, qualquer valor
aceito.
Em seguida a tela da formula ira mostrar Sine
ou o valor digitado, agora nesta tela
colocaremos *10 ou seja, multiplicaremos o
valor por 10.
Note que h um quadro verde ao lado da tela,
caso ele esteja verde indica que a formula est
correta, em caso estar cinza, indica que a
formula escrita est incorreta.
Dever ficar assim:

Exerccio 4 (calma!... Estamos recapitulando o


que vimos... Adicionando novos componentes)

Aps de um clique em ok.


E retornaremos para o
bloco de diagrama, onde
deveremos ligar a formula
ao Simulador de Sinal.
Da seguinte maneira:
Ligamos o sinal de sada
ao Sine que a nossa
varivel de entrada na
frmula. Agora no Painel
Frontal, criamos um Grfico
(waveform graph) para que
este mostre o sinal
multiplicado por 10.

Exerccio 4 (calma!... Estamos recapitulando o


que vimos... Adicionando novos componentes)

Onde desta forma o


resultado da frmula
mostrado graficamente.
O resultado dever ser
esse para um Sinal de
10Hz:
Dica: O grfico pode
mostrar ao mesmo tempo o
sinal advindo diretamente
do simulador de sinal
assim como o grfico pode
apresentar o sinal que
passou pela frmula
matemtica assim
possvel compar-los.
Onde temos este exemplo:

Exerccio 4 (calma!... Estamos recapitulando o


que vimos... Adicionando novos componentes)
Passo 7: Como inserir
um Loop (para o
sistema ficar rodando
continuamente)
V no bloco de
diagrama, no view em
functions palette,
express, execution
control em while
loop, voc ter de
fazer um quadrado ao
redor de todos os
componentes que
sero includos no
loop.

Exerccio 4 (calma!... Estamos recapitulando o


que vimos... Adicionando novos componentes)

O resultado ser o seguinte:


No painel frontal ir surgir um
boto de stop, com o qual
pode-se parar o processo do
loop.
Pode-se tambm definir o
tempo do loop, adicionando
outra funo, que Time
Delay, que pode ser
adiocinado no mesmo menu
onde se encontra o Loop.
Automaticamente quando
inserimos o Time Delay, o
mesmo abre a janela de
configurao e pede o tempo
para o processo.

Aps adicionar o time delay,


rode o processo e verifique se
o tempo para o delay
suficiente para rodar o
processo de forma satisfatria.

Desafio
1) Faa um programa que concatena duas strings
2) Explore o desafio 1: entre com um nmero e um
string obtenha na sada uma nica string concatenada
com o nmero. (procure o bloco build text)
3) Faa um programa que simule uma entrada analgica
(simulando variaao de temperatura). Coloque um
controle que possibilite escolher temperatura em C, F e
K e mostre em um indicador (termmetro).
4) Com o programa feito em 3) faa um subvi e
implemente um sistema que emite um alarme assim que
uma temperatura sair de uma faixa de valor mnimo e
valor mximo. Utilize um loop while com uma
temporizaao de 1 s e salve os dados em um arquivo.

Você também pode gostar