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

Desktop PC

Laptop PC

PDA

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

Digital I/O

Counter/ Timers

Machine Vision

Motion Control

Distributed I/O and Embedded Control

Signal Conditioning and Switching

Unit Under Test

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

cone

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

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 Constante Numrica Funo De Tempo Conexo De Dados Terminal de um Controle Booleano

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

SubVI criado

EditCreate SubVI

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 Continuous Run button Abort button Pause/Continue button Font ring Alignment ring Distribution ring Resize ring 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

Warning indicator Enter button Broken Run 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.