Escolar Documentos
Profissional Documentos
Cultura Documentos
CAMPUS DE SOBRAL
Sumrio
1. Introduo LabVIEW .............................................................................. 3
2. Painel Frontal .......................................................................................... 4
3. Diagrama de Blocos ................................................................................ 15
4. Fluxo de Dados ....................................................................................... 21
5. Funes String ........................................................................................ 26
6. Funes Array ........................................................................................ 30
7. Funes Cluster ...................................................................................... 38
8. Funes Constantes ................................................................................ 39
9.Grficos ................................................................................................... 40
10. Programao Estrutural ........................................................................ 45
1. Introduo
O LabVIEW permite a anlise e interpretao virtual atravs da construo de instrumentos
virtuais tais como indicadores grficos, analgicos e/ou digitais. Possibilita tambm a criao
de interfaces amigveis muito semelhantes a painis de mquinas, podendo ser utilizado como
uma interface homem-mquina. Desta forma, por ser muito similar instrumentos reais, os
programas em LabVIEW so chamados de VIs (Virtual Instruments). A linguagem de
programao utilizada para tal recebe o nome de linguagem G, por se tratar de uma linguagem
grfica que utiliza blocos de funes. Toda VI composta, basicamente, de trs partes
principais: o Front Panel (Painel Frontal), o Block Diagram (Diagrama de Blocos) e o
Conector de cones. O painel frontal pode ser entendido como uma interface do usurio, no
qual esto presentes os controles (entrada de dados e valores) e os indicadores (sadas de
dados e resultados). O diagrama de blocos equivalente a cdigo fonte do programa, no qual
esto presentes todas as estruturas de clculo, de repetio, captura de sinais e outras, as quais
so conectadas por fios que representam fluxos de dados.
2.Painel Frontal
O painel frontal um meio confortvel para construir programas com uma boa interface
grfica. O programador no necessita de escrever qualquer linha de cdigo.A apresentao
grfica dos processos aumenta a facilidade de leitura e de utilizao. Uma grande vantagem
em relao s linguagens baseadas em texto a facilidade com que se cria componentes que
se executam paralelamente.
Voc monta o painel frontal com as variveis de controles e indicadores, que so os terminais
interativos de entrada e sada do VI, respectivamente. Controles so: botes, botes de
presso, dials e outros dispositivos de entrada.
Indicadores so grficos, LEDs e outros displays. Os controles simulam dispositivos de
entrada de instrumentos e fornecem dados para o diagrama de bloco do VI. Os indicadores
simulam dispositivos de sada de instrumentos e exibem os dados que o diagrama de bloco
adquire ou gera.
Barra de Ferramentas
a) RUN:
Utilizado para iniciar a execuo de uma VI. Contudo, se o boto run ficar com a imagem
cdigo apresenta erros e, portanto, no pode ser executado.
,o
b) RUN CONTINUOUSLY:
Utilizado para iniciar a execuo de uma VI de modo continuo. Se esse boto for novamente
pressionado, a execuo contnua do VI ser interrompida.
c) STOP:
Utilizado para parar a execuo de uma VI. Obviamente, s poder ser usado quando uma VI estiver
sendo executada.
d) PAUSE:
Utilizado para pausar a execuo de uma VI. Clicando novamente nesse boto, a execuo da VI ser
retomada.
e) FORMATAO DE TEXTOS:
Utlizado para formatar um determinado texto que esteja selecionado, alterando o tipo de fonte, cor,
tamanho e estilo (negrito, itlico, sublinhado e outros) Obs.: Para selecionar objetos no LabVIEW,
basta clicar sobre os mesmos ou pressionar o cursor do mouse em um ponto da tela e mant-lo
pressionado at uma outra extremidade qualquer, criando um retngulo de seleo.
f) ALINHAMENTO DE OBJETOS:
Ao clicar neste boto, ser exibido um menu contendo os botes abaixo figurados, no qual podemos
selecionar o tipo de alinhamento dos objetos selecionados:
Ao clicar neste boto, ser exibido um menu contendo os botes descritos abaixo, no qual podemos
selecionar o tipo de espaamento entre os objetos.
Distribuio de objetos
i)
REORDER:
2.2Help no LabVIEW
O LabVIEW Help constitui uma ferramenta valiosa para conhecer o funcionamento dos recursos do
programa, podendo ser acessado mais facilmente atravs do atalho de teclado Ctrl+?. Existe ainda o
Context Help, usado quando se desejam informaes sobre uma funo selecionada e acessado
normalmente atravs do atalho de teclado Ctrl+h. Aliado a isso, existe ainda o boto Find Examples
que abre uma biblioteca com VIs previamente elaboradas que podem servir como base para a
elaborao de outras VIs.
O exemplo acima especifica a funo Help sendo acessado no menu do Painel frontal
10
Caso essa descrio no seja suficiente para sanar uma eventual dvida, pode-se clicar no link
Detailed que exibir a janela abaixo:
Alm de uma descrio mais completa, essa janela exibe os botes add to the block diagram
(adicionar ao diagrama de blocos), find on the palette (encontrar a funo na paleta das funes) e
ainda open example e find related examples (abre uma VI com um exemplo de uso da funo dada).
Numeric:
12
Numrico
Tanque e Termmetro
Barra de Rolagem
Color Box ( caixa de cores na qual cada cor est associada a um nmero
natural)
13
Boolean:
Esta biblioteca contm indicadores e controles booleanos, ou seja: trabalha apenas com 2
situaes : TRUE (verdadeiro) e FALSE (falso), com diferentes formataes. So elas:
Graph:
14
Esta biblioteca contm na maioria dos VIs a serem executados representam indicadores
grficos do LabVIEW. Dentre os vrios tipos de grficos disponveis, os mais importantes, ou
seja que so mais utilizados: o Waveform Chart , o Waveform Graph e o XY Graph.
15
16
3.Diagrama de Blocos
uma interface interativa entre o usurio e a mquina , depois de construir o painel frontal o
codigo adicionado usando representaes grficas das funes para controlar as variaveis de
17
entrada ou saida no painel frontal.Os objetos no painel frontal aparecem como terminais no
diagrama de blocos .Observe que no possivel apagar um terminal no diagrama de bloco.
O terminal s desaparece somente depois que o seu objeto correspondente seja apagado no
painel frontal.
18
Se ativado, o cursor adquire a forma do cone do retain wire values (acima figurado) quando se
aproxima de um condutor. Se clicarmos sobre um determinado ponto da conexo de dados, o
programa exibir uma janela com o valor da varivel em questo naquele ponto e naquele
momento.
c) START SINGLE STEPPING:
Executa o programa, pausando a execuo a cada n para que se avalie o seu funcionamento, bem
como os eventuais erros
d) STEP OVER:
Funo anloga ao start single stepping, o step over utilizado para que o programa seja executado
deixando de parar no prximo n.
e) STEP OUT:
Encerra a execuo da VI, fazendo com que todos os ns localizados frente daquele onde o step out
foi pressionado seja executados sem pausas.
Assim como fizemos no painel frontal, abordaremos dentre as muitas bibliotecas do diagrama
de blocos vamos detalhar apenas as principais que esto localizadas na aba programming.
Numeric
19
So elas:
Incrementa (soma 1); Decrementa (subtrai 1); Retorna a soma dos elementos de um array
numrico; Retorna o produto dos elementos de um array numrico, respectivamente.
20
Expression Node (calcula expresses de uma varivel utilizando as funes abs, acos, acosh,
asin, asinh, atan, atanh, cos, cosh, cot, exp, int, ln, log, log2, max, min, mod, rand, sec, sign,
sin, sinh, sqrt, tan, tanh).
Infinito Positivo, Infinito Negativo, (o menor nmero em formato double que quando
somado a 1 resulta em um nmero diferente de 1).
COMPARISON:
A biblioteca Comparison contm as funes utilizadas para comparar nmeros. So elas:
Igual, Diferente de, Maior que, Menor que, Maior ou Igual , Menor ou Igual ,
Respectivamente
21
Igual zero, Diferente de zero, Maior do que zero, Menor do que zero, Maior ou igual zero,
Menor ou igual zero, Respectivamente;
Exibe um valor se uma comparao associada a ela for verdadeira e outro valor se for falsa.
Exemplo :
A funo Select faz uma comparao do valor de entrada se for verdadeiro ou se for falso ele
determina uma resultado dependendo do valor de entrada , exemplo acima especifica a
funo.
Funo In Range and Coerce: Indica se um determinado valor est dentro de um intervalo de
valores definido pelo usurio atravs de um mximo e de um mnimo e exibe o valor
pertencente ao intervalo mais prximo do nmero que est sendo analisado.
22
STRUCTURES:
23
visualizar uma condio (falso ou verdadeiro) de cada vez. Para alterar a condio exibida,
basta clicar sobre a aba
(true/false).
A estrutura for loop muito similar estrutura de repetio for do C++. Este algoritmo repete
(N) vezes o que estiver contido dentro dele e mostra, instantaneamente, o nmero de
ordem da interao que est sendo processada naquele momento atravs do indicador
(i), que varia entre 0 e N-1.
A estrutura de repetio while loop muito similar ao while do C++. Essa funo repete o
que est contido dentro dela at que a condio associada ao terminal esteja satisfeita.
Clicando com o boto direito do mouse sobre este boto, podemos escolher entre stop if true
(interrompe o loop quando um valor booleano associado a ele for verdadeiro) ou contiune if
true (interrompe o loop quando o booleano associado a ele for falso). Assim como no for
loop, tambm possvel verificar, instantaneamente, qual interao est sendo processada
naquele momento, atravs do indicador .
4. Fluxo de dados ( D a t a S t r e a m )
24
Observe o exemplo:A componente acima realiza a soma entre dois nmeros e retorna o valor
da mesma. Ela s pode executar se possuir dois valores na entrada, ou seja, ela no realiza a
soma antes que os dois nmeros da entrada tenham chegado.Existem componentes no
LabVIEW que foram o fluxo conforme o usurio o deseja. Esses componentes so Flat
Sequence e StackedSequence.
Indicador
Tipo de Dados
Numero com ponto flutuante
com dupla preciso
Nmero com ponto flutuante de
simples preciso
Nmero com ponto-flutuante
com preciso extendita
Nmero com ponto-flutuante de
simples preciso complexa
Nmero com ponto-flutuante
com dupla preciso complexa
Nmero com ponto-flutuante
compreciso extendida
Nmero inteiro codificado de 8bit
Nmero inteiro codificado de 16bit
Nmero inteiro codificado de 32bit
Nmero inteiro no codificado
de 8-bit
Nmero inteiro no codificado
de 16 bit
Nmero inteiro no codificado
27
de 32-bit
Booleano
(Valores
lgicoVerdadeiro ou Falso)
String Cadeia de Caracteres
Array - semelhante a uma
matriz.Todos
os
elementos
devem ter os mesmo tipos de
dados
Tipo
Enumerado
(conjunto
ordenado de indicadores)
Path
Waveform-Representa forma de
onda
Refnum-Nmero de Referncia
Variant-Inclui o controle ou o
nome do indicador,a informao
do tipo de dados e os dados
proprios.
Picture- Visualiza figuras que
podem linhas,crculos,textos e
outro tipos de formas grficas
OBS: Cada tipo de variavel possue uma ligao diferentes ou seja cores e estilos diferentes no
diagrama de blocos.
28
Podemos mudar o tipo dados de qualquer varivel de controle e indicador clicando com
o boto direito do mouse em cima da varivel no painel frontal >> Representation .Veja o
exemplo acima .
4.4 Ligaes
Voc transfere dados entre objetos do diagrama de bloco atravs de ligaes. Cada ligao
tem uma nica fonte de dados,mas voc pode lig-la a vrios VIs e funes que fazem a
leitura dos dados. As ligaes so de cores, estilos e espessuras diferentes, dependendo de
seus tipos de dados.
Os exemplos a seguir apresentam os tipos mais comuns de ligaes:
Tipos de Escalar
Ligao
Numeric
Arranjo 1D
Cor
Laranja
Booleano
Verde
String
Rosa
medida que voc move um objeto selecionado prximo a outros objetos do diagrama de
bloco, o LabVIEW instala ligaes temporrias a fim de exibir conexes vlidas.
Alterne a ligao automtica, pressionando a barra de espao, enquanto voc move um objeto
utilizando a ferramenta Positioning. Voc pode ajustar as configuraes de ligao
automtica, selecionando ToolsOptions e Block Diagram no menu superior.
4.4.1 Ligaes interrompidas
Uma ligao interrompida aparece como uma linha preta tracejada, conforme mostrado no
exemplo a seguir. Ligaes interrompidas ocorrem por vrios motivos, como quando voc
tenta ligar dois objetos com tipos de dados incompatveis.
O exemplo mostrado voc percebe uma ligao preciso simples (DBL) com umfuno
Booleano (Valores lgico-Verdadeiro ou Falso) , a ligao tracejada devido os valores
Boolean serem uma funo de parada e no um indicador.
Mova a ferramentaWiring sobre uma ligao interrompida para visualizar a pequena dica que
descreve o porqu que a ligao foi interrompida. Clique trs vezes na ligao com a
ferramenta Positioning e pressione a tecla<Delete> para remover uma ligao interrompida ou
voc pode remover todas as ligaes interrompidas, selecionando EditRemove Broken
Wires.
4.4.2 Ligao Slida
Uma ligao Slida aparece como uma linha continua ou seja no tracejada, ligaes slida
ocorrem quando duas variveis esto conectadas corretamente ou seu tipos de dados so
(compatvel ) de acordo com a programao em si.Mostraremos um exemplo a seguir que
explica esse tipo de ligao:
O exemplo mostrado uma variavel de simples preciso conectada ao funo matematica que
representa( incremento +1), ligao tem cor laranja devido ser uma ligao envolvendo
variavel numerica.
30
5.Funes String
Use as funes String para concatenar dois ou mais strings, converter dados em strings, e
formatar um string para processamentos de textos
31
Esta funo concatenate string , ou seja , une diferentes string em um s, observa a ordem que
se deve ser colocado cada variavel de controle no diagrama de blocos ou seja a interligao
entre a variavel e funo concatenate string.
Veja o exemplo a seguir :
32
Esta funo converte de minusculo para maisclo todos os caracteres contidos no string.
possvel realizar a converso de maisculo para minsculo utilizando a funo To Lower
Case.
Veja o exmplo:
33
Esta funo forma um substring de acordo com os valores inseridos nos controles. Deve ser
indicado o numero de letras que formaram o substring e com que letra deve ser iniciado , o
zero deve ser incluido.
O exmplo a acima demostrar o um VI, onde foi inserido um string com sete letras
(LabVIEW), e foi formatado um substring com cinco letras e que comea pela letra b ,
porque o zero equivale letra L , o um equivale letra a e os dois equivale letra b.
34
6.Funes Array
O exemplo acima especifica as possiveis variaveis que o array pode ser formado ( controle
numerico(laranja) , booleano(verde),string(rosa) e ring(azul))esses so os tipos de dados que
esto representando o array no diagrama de blocos. Para ampliar a quantidade de elementos
mostrados na tela, basta clicar sobre este e arrastar horizontalmente e Se clicarmos e
arrastarmos verticalmente o controle numrico lateral vamos aumentar o nmero de
dimenses do array. Assim, a partir de um vetor de uma dimenso (linha) passaremos a ter
uma matriz bidimensional se houverem dois controles ou ainda um array cbico se houverem
trs. possvel ainda ter arrays com quatro ou mais dimenses, entretanto, esse tipo de
estrutura passa aser desprovida de uma interpretao geomtrica,no podemos ter dimenses
diferentes .
36
Array de valores booleano no lado esquerdo pertence ao painel frontal e lado direito pertence
ao diagrama de blocos , a configurao de cada array varia de acordo com cada controle que
inserido para dentro do array .
Para criar uma matriz com mais de uma dimenso , com linhas e colunas , necessario criar
um array de um array , veja o exemplo a seguir a demonstrao :
37
38
Array Size indica indica o nmero de elementos que esto formando um array, ou seja indica
o nmero de indicadores que tem o array.
Veja o exemplo a seguir :
39
O Index Array indica o elemento da matriz de acordo com ndices indicados. importante
saber o que comea no zero, ou seja ,a primeira linha ou primeira coluna corresponde ao
ndice zero
40
O exemplo acima detalha o funcionamento Index array ,podemos perceber que ele funciona
junto com um array de array , dois controles de 32 bits e um indicador simples preciso . O
elemento da 1 linha (ndice 0 ) e 3 coluna (ndice 2) o nmero 3.
41
O exemplo a seguir mostra a matriz original com a sua respectiva matriz transposta e o
diagrama de blocos responsvel por executar essa funo.
Essa funo Array Max e Min indica o valor mximo e mnimo encontrado no array, com os
seus respectivos ndices de cada valor .
42
43
7. Funo Cluster
Tem como objetivo agrupar ou desagrupar elementos .Em um Cluster podem ser agrupados
elementos de diferente tipos de dados.
7.1 Bundle
A funo cluster do lado esquerdo que esta representado no painel de frontal est localizado
na paleta controls no P.F, pode receber diferente tipos de dados ao contrario da funo array.
44
O exemplo acima demonstra como funciona a funo Build Cluster Array podemos percebe
que originada da funo array e bastante parecida com a funo array de array , s muda
tipos de dados veja o exemplo.
45
8. Funes Constantes
As constantes so os terminais no diagrama de blocos que fornecem valores fixos dos dados
ao diagrama de blocos,so definadas como constantes universais tais como pi ( ) e
constantes definidas pelo usurio so constante definidas e editadas antes que o VI seja
executado.
Obs: A constante tem o mesmo valor contido no controle ou indicador do Painel Frontal,
devemos perceber que seu tipo de dado a mesma da funo que foi criada se for
numeric seu tipo de dados configurado pela cor laranja ento a constante a ser criado
tambm vai ser laranja.
Exemplo:
9. Grficos
Os grficos podem ser usados para mostrar sinais gerados no Labview ou aquisitados de um
equipamento real Existem vrios tipos de grficos , os quais so encontrados no painel frontal
Paleta Controls >>Graph. Vamos mostrar as principais partes que compe o grfico:
47
Todos esses componentes podem ficar visvel ou no . A configurao pode ser feita clicando
com o boto direito do mouse sobre o grfico . No menu de atalho aparecem varias opes de
configurao , veja:
Menu do Grfico
48
- Visible Items : Nesta opo pode escolher os itens que devem ser permanecer visveis, tais
como Label , X Scale entre outros .
- Find Terminal :Esta opo localiza o terminal correspondente no diagrama de blocos.
- Change to Control: Esta opo transforma o grfico em controle que inicialmente um
indicador.
- Description and Tip : Abre uma janela na qual se insere comentrios , isto , a descrio e
o tipo de grfico.Quando o VI executado , pode-se ver esses comentrios clicando com o
boto direito do mouse sobre o grfico.
-Create : Cria uma local variable , Property Node, Reference e Invoke Node.
-Replace : Mostra a paleta de controles para que se possa substituir o grfico atual por outro.
-Data Operations : Executa operaes referentes ao dados do grfico, tais como copiar e
colar os dados , limpar o grfico.
-Advanced : Neste item possvel ocultar o objeto , clicando Hide indicator.
-X Scale: Nesta opo configura se a escala de x como auto escala ou no .
- Y Scale : Nesta opo configura-se a escala de y como auto escala ou no .
- Properties : As configuraes de grfico podem ser feitas tambm na janela Properties
mostrada abaixo :
49
50
OBS: H outras formas de onda no Labview , a onda quadrada , dente serra e onda
triangular.
possvel visualizar dois sinais mo mesmo grfico . Um exemplo gerar duas formas de
onda defasada de 90. Para isso necessrio criar dois sinais , depois conect-los ao Build
Array e por fim conectar o array criado a um grfico, veja o exemplo a seguir :
51
Neste caso onde tem dois sinais no mesmo grfico , interessante manter visvel o Plot
Legend , pois ele identifica cada sinal . Basta redimensionar para o numero de sinais e editar
os nmeros originais Plot 0 e Plot 1.
OBS: No so obrigatrios os dois grficos que mostram os sinais isolados . Estes no
exemplo acima foi mostrado por questo de didtica , para que se visualize cada sinal
isoladamente.
9.2 XY GRAPH
Gera uma grfico que relaciona os valores X com os valores de Y, ou seja cada ponto
pertence a curva contm uma coordenada em X e uma Y. obrigatrio o uso de um cluster do
tipo Bundle, com duas entradas , sendo cada uma deve ser um array, veja o exemplo a seguir
que demonstra essa funo :
52
10.Programao Estrutural
Muitas vezes necessrio executar um mesmo conjunto de sentenas um determinado nmero
de vezes, ou que estes se repitam enquanto so completadas certas condies. Tambm pode
acontecer que desejamos executar uma ou outra sentena dependendo das condies fixadas
ou simplesmente fora que algumas executem sempre antes das outras.
Para isto o LabVIEW tem quatro estruturas facilmente diferenciveis pela sua aparncia e que
esto disponveis na opo Structures da Paleta de Functions no Diagrama Blocos :
1. Sequence
2. For Loop
3. While Loop
Veremos detalhadamente cada estrutura a seguir.
repetido uma quantidade indefinida vezes, enquanto for loop repetido uma quantidade
definida de vezes (o nmero de repeties conhecido antes do incio do lao)
Exemplo:
54
O While Loop faz com que o programa seja executado infinita vezes,at que o boto
conectado ao terminal condicional seja acionado.
55
Loop Interation : Indica o nmero de vezes que a estrutura foi executada : 0 durante primeira
iterao, e 1 e durante a segunda e assim at N-1.
O For Loop executa o programa o nmero de vezes indicado no terminal do contador e Par .
OBS : Quando usar While Loop ou For Loop, deve se executar o programa clicando o
boto Run , e no mais no boto Run Continuously .
56
Um mesmo Loop pode ter vrios registros de deslocamentos sendo conveniente inicializ-los,
de forma que os terminais da esquerda tenha o valor desejado quando acontecer a primeira
iterao. Os registros de deslocamentos podem sempre trabalhar com qualquer tipo de dados
sendo eles conectados a cada terminal, sendo esses dados do mesmo tipo.
Ao finalizar a execuo de todas as iteraes, o ltimo valor ficar no terminal da direita;
unindo-o a um indicador de mesmo tipo de dado fora do Loop, podendo obter seu valor.
Mas existe outra possibilidade para passar os dados de um modo automtico do interior da
estrutura para o exterior. Quando uma linha atravessa os limites do Loop, aparece na borda
um novo terminal chamado tnel que faz a conexo entre o interior e o exterior, de forma que
os dados fluem atravs do tnel depois de cada iterao de Loop, podendo armazenar deste
modo no somente o ltimo valor de todas as iteraes como tambm os valores
intermedirios. Esta possibilidade de acumular automaticamente vetores em seus limites se
chama auto-indexing ou autoindexado.
O LabVIEW habilita por padro o auto-indexing no For Loop j que mais freqente usar
esta estrutura para criar vetores do que no While Loop, no qual esta opo desabilitada por
padro e cuja a utilizao poderia causar problemas de memria, j que no sabemos quantas
vezes vai ser executado. No entanto, fazendo pop-up no tnel podemos habilitar ou
desabilitar esta opo.
Para completar nosso exemplo foi conectada a funo Greater Or Equal To 0 ,caso seja
verdade ( True) a raiz calculada e mostrada no indicador Raiz Quadrada e se for falso (
False) a raiz no calculada . A mensagem mostrada corresponde funo One Button
Dialog , e foi conectada a uma costante de tipo de dado String.
58
59