Vous êtes sur la page 1sur 59

CURSO DE ENGENHARIA ELTRICA CAMPUS DE SOBRAL

Universidade Federal do Cear

LabVIEW para Engenheiros

Hugo Ferreira de Albuquerque


(Emanuel )
1

CURSO DE ENGENHARIA ELTRICA 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

CURSO DE ENGENHARIA ELTRICA CAMPUS DE SOBRAL

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.

CURSO DE ENGENHARIA ELTRICA CAMPUS DE SOBRAL

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.

CURSO DE ENGENHARIA ELTRICA CAMPUS DE SOBRAL

Interface de operao do VI.

2.1 Barra de Ferramentas no Painel Frontal


Na parte superior da tela, tanto no diagrama de blocos quanto no painel frontal, encontramos a barra de ferramentas utilizada para controlar a execuo e a formatao dos VIs. Alguns botes so visveis em ambas as janelas e outros so exclusivos do diagrama de blocos.

Barra de Ferramentas

CURSO DE ENGENHARIA ELTRICA CAMPUS DE SOBRAL

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. 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: ,o

Alinhamento dos objetos

g) ESPAAMENTO E DISTRIBUIO ENTRE OBJETOS :

CURSO DE ENGENHARIA ELTRICA CAMPUS DE SOBRAL

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

h) TAMANHO DOS OBJETOS: Ao clicar neste boto, ser exibido um menu contendo os botes abaixo figurados, nos quais podemos selecionar o tipo de redimensionamento a ser dado aos objetos selecionados :

Redimensionamento dos objetos

i)

REORDER:

CURSO DE ENGENHARIA ELTRICA CAMPUS DE SOBRAL

O boto reorder apresenta ferramentas de formatao utilizadas quando se deseja trabalhar com objetos sobrepostos. Nesse sentindo, quando selecionamos dois ou mais objetos e clicamos em reorder/group, todos os selecionados sero unidos e no se deslocaro separadamente. Para desfazer o grupo basta clicar em ungroup. Ao selecionarmos um ou mais objetos e clicarmos em lock, os mesmos no podero ser deslocados, ficando com uma posio fixa na tela. Para destravar o movimento destes objetos basta clicar em unlock. Quando sobrepomos dois objetos, surge a necessidade de mover um deles para frente e o outro para trs, para que ambos fiquem visveis. Para tal, existe o move forward (move um objeto para frente de outro) e o move backward (move um objeto para trs de outro). Quando houver mais do que dois objetos, utilizamos o move to front (coloca um objeto na frente de todos os demais) e o move to back (coloca um objeto para trs de todos os outros).

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.

CURSO DE ENGENHARIA ELTRICA CAMPUS DE SOBRAL

O exemplo acima especifica a funo Help sendo acessado no menu do Painel frontal

CURSO DE ENGENHARIA ELTRICA CAMPUS DE SOBRAL

Interface do LabVIEW Help (Ajuda)

2.2.1 Show Context Help


Esse boto equivalente ao Ctrl+h (Context Help), o qual, conforme citado anteriormente, fornece informaes sobre um objeto qualquer da VI. Como exemplo disso, temos abaixo figurado o que exibido quando selecionamos a funo de multiplicao de uma VI:

10

CURSO DE ENGENHARIA ELTRICA CAMPUS DE SOBRAL

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).

2.3 Paletas de funes Painel Frontal ( Paleta de Controls)


11

CURSO DE ENGENHARIA ELTRICA CAMPUS DE SOBRAL

Iniciamos a programao de uma VI no LabVIEW atravs da insero dos elementos que constituiro as variveis do programa no painel frontal. Atribumos um valor inicial varivel nos controles e recebemos do programa o seu valor final nos indicadores.Para inserir controles e indicadores utilizamos a paleta Controls, que exibida ao clicar com o boto direiro do mouse sobre a rea cinza do painel frontal ou :

Nesta paleta esto localizados todas as bibliotecas de controles e indicadores disponveis no LabVIEW. Abordaremos apenas as mais importantes que esto presentes na aba modern. So elas: numeric (indicadores e controles numricos) , boolean (leds, botes e switches), graph (grficos), string & path (cadeias de caracteres e arquivos), ring&enum (textos e imagens) e array,matriz &cluster . Para exibir a funo de cada uma dessas bibliotecas basta clicar sobre o cone que as representa.

Numeric:

12

CURSO DE ENGENHARIA ELTRICA CAMPUS DE SOBRAL

Para inserir qualquer um desses indicadores/controles no painel frontal basta clicar em um deles e arrastar o item desejado para uma posio qualquer no painel. Nesta paleta, encontramos controles e indicadores em distintos formatos, cabendo ao usurio do LabVIEW escolher o mais adequado ao seu VI, sendo importante ressaltar que podemos transformar um controle em um indicador e um indicador em um controle no diagrama de blocos sem alterar seu aspecto no painel frontal. So eles:

Numrico

Tempo (Data e Hora )

Barra Vertical sem e com ponteiro

Barra Vertical sem e com Grade

Tanque e Termmetro

Barra de Rolagem

Color Box ( caixa de cores na qual cada cor est associada a um nmero natural)

Relgio sem e com ponteiro

13

CURSO DE ENGENHARIA ELTRICA CAMPUS DE SOBRAL

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:

Interruptores Horizontais e Verticais

LEDs Quadrados e Circulares

Botes OK, Cancel, Stop e no Formato de Aparelho de Rdio;

Graph:

14

CURSO DE ENGENHARIA ELTRICA CAMPUS DE SOBRAL

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.

O Waveform Chart um indicador grfico que associa nmeros ou elementos escalares ou ainda vetores unidimensionais de um elemento, plotando-os na tela do painel frontal. Este um tipo de grfico que se caracteriza por atualizaes constantes e por acumular os valores impressos, mesmo quando eles j no se encontram no display do grfico. Podemos mudar sua configurao apertando o boto direito do mouse em cima do grfico e aparecera a opo Properties.

O waveform graph plota uma determinada taxa de valores em uma faixa igualmente distribuda. Utilizamos este tipo de grfico para plotar amostras e arrays.Podemos observa que a grande diferena entre o waveform chart e o graph que o primeiro plota um ponto de cada vez, enquanto que o segundo plota um sequencia de pontos de um nica vez.

O XY Graph um indicador grfico formado a partir de dois arrays (agrupamentos de nmeros). Dessa forma, podemos definir as abcissas e as ordenadas de um determinado nmero de pontos e, a partir disso, traar o grfico formado por eles. OBS: Todos os grficos apresentados anteriormente podem ser mudado a sua configurao ou seja o usurio pode definir a seu estilo qual o limites de escala, aparncia , titulo do grfico entre outros apenas clicando com o boto direito do mouse em cima do grfico aparecera a opo Properties e basta clicar em cima que aparecera todas essas funes:

STRING & PATH:

15

CURSO DE ENGENHARIA ELTRICA CAMPUS DE SOBRAL

A biblioteca String & Path contm os controles e indicadores de strings (cadeias de caracteres) e de manipulao de arquivos (path):

Controle e Indicadores de textos ou cadeias de caracteres (strings);

Controle e Indicador de strings na forma de menu vertical;

Controle e Indicador de manipulao de arquivos. Ao clicar sobre este cone no painel frontal, o programa exibir uma janela pela qual possvel buscar um determinado arquivo no computador.

ARRAY, MATRIX & CLUSTER:

16

CURSO DE ENGENHARIA ELTRICA CAMPUS DE SOBRAL

A estrutura array , basicamente, um agrupamento de elementos. Quando a inserimos no painel frontal, obetemos a configurao vazia ilustrada :

Anlogo ao array, o cluster tambm pode ser definido como um agrupamento de outros elementos. Entretanto, em um mesmo array podemos inserir apenas um tipo de funo (somente nmerico ou somento boleano ou somente string ou somente ring), enquanto que em um cluster podemos inserir esses elementos simultaneamente. Quando colocamos um cluster no painel frontal, tambm observamos sua configurao vazia inicial, mas basta inserir os elementos que esse absorve as propriedades dos mesmos:

As matrizes de elementos reais e complexos sero as ferramentas com as quais realizaremos todas as operaes matriciais no LabVIEW.

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

CURSO DE ENGENHARIA ELTRICA CAMPUS DE SOBRAL

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.

Interface do Diagrama de Blocos

3.1 Barra de Ferramentas no Diagrama de Blocos


Barra de Ferramentas

Podemos perceber que algumas ferramentas que so encontradas no painel frontal so tambm encontradas no diagrama de blocos , ento vamos detalhar algumas dessas ferramentas :
a) HIGHTLIGHT EXECUTION: Insere um ponto luminoso mvel no fio que conecta duas estruturas de programao, permitindo avaliar com maior preciso o fluxo de dados entre as estruturas do programa. b) RETAIN WIRE VALUES:

18

CURSO DE ENGENHARIA ELTRICA CAMPUS DE SOBRAL

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.

3.2Paletas de funes - Diagrama de blocos( Paleta Functions)

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

CURSO DE ENGENHARIA ELTRICA CAMPUS DE SOBRAL

Contm as estruturas aritmticas simples do LabVIEW:

So elas:

Representam Soma, Subtrao, Multiplicao, Diviso (retorna o quociente fracionrio) e Diviso (retorna o quociente inteiro e o resto fracionrio), respectivamente.

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.

Compound Arithmetic:tem a funo de efetuar a soma ou multiplicao entre dois ou mais nmeros.

20

CURSO DE ENGENHARIA ELTRICA CAMPUS DE SOBRAL

Raz quadarada de x, quadrado de x, oposto de x, inverso de x, retorna -1 se o nmero associado a ele for negativo, 0 se for nulo e 1 se for positivo; abre a biblioteca de converses do LabVIEW, respectivamente.

Essas so as principais constantes utilizadas no diagrama de bloco,so elas Constante Numrica , Constante Enum , Constante Ring.

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

CURSO DE ENGENHARIA ELTRICA CAMPUS DE SOBRAL

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

CURSO DE ENGENHARIA ELTRICA CAMPUS DE SOBRAL

STRUCTURES:

A Estrutura Case equivalente ao if do C++. Se uma determinada condio for verdadeira (true), implementamos um algoritmo para calcular uma varivel de uma determinada forma. Caso a condio seja falsa (false), programamos um outro mtodo de clculo. S podemos

23

CURSO DE ENGENHARIA ELTRICA CAMPUS DE SOBRAL

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 .

Atravs do Formula Node, o LabVIEW nos permite escrever funes e expresses, aproximando-se de outras linguagens de programao no-grficas tais como o C++ por exemplo. A sua linguagem de programao bastante parecida com as linguagens de dados de textos , usam os mesmo sinais e operadores matemticoNenhuma entrada de sumrio foi encontrada.

4. Fluxo de dados ( D a t a S t r e a m )
24

CURSO DE ENGENHARIA ELTRICA CAMPUS DE SOBRAL

A linguagem do LabVIEW no uma linguagem estruturada, ou seja, a leitura no se faz de cima para baixo. A leitura de fluxo de dados no LabVIEW um pouco mais difcil de se fazer. Ela ocorre da seguinte maneira: a componente que possuir todos os dados necessrios para sua execuo, executa e o fluxo continua at que tudo tenha sido executado.

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.

4.1 Tipos de dados em LabVIEW Controladores e Indicadores


O LabVIEW oferece uma grande variedade de tipos de dados com que podemos trabalhar respondendo as necessidades reais. Um dos aspectos mais significantes no LabVIEW a diferenciao que se efetua no Diagrama de Fluxo de Dados entre os diferentes tipos de controles e indicadores, baseado em que cada um deles tem uma cor prpria. Deste modo, e como conseqncia de um memorizao ou assimilao prtica, ser muito fcil identificarmos e reconhecermos imediatamente se estamos trabalhando com o tipo de dado apropriado. Distinguimos os seguintes tipos, os quais podem funcionar tantoncomo controladores como indicadores (entre parnteses est a representao da cor como ser representado no Diagrama de Fluxo de Dados):
25

CURSO DE ENGENHARIA ELTRICA CAMPUS DE SOBRAL

Boolean (verde claro) Os tipos de dados booleanos so inteiros de 16 bits. O bit mais significativo contm o valor booleano. Se no bit 15 se coloca o valor 1, ento o valor do controle ou indicador true (verdadeiro); ao contrrio, se este bit 15 vale 0, o valor da varivel booleana ser false(falso).

Numrico h diferentes tipos: Preciso Extendida- Extended Precision De acordo com o padro do computador que estamos usando os nmeros reais com preciso extendida,possuem ou so representados pela cor laranja apresentam o seguinte formato: Preciso Dupla- Double Precision Os nmeros reais de dupla preciso cumprem com o formato de dupla preciso IEEE de 64 bits ,possuem ou so representados pela cor laranja Preciso Simples - Single Precision Os nmeros reais de preciso simples cumprem com o formato de preciso simples IEEE de 32 bits, possuem ou so representados pela cor laranja Inteiros Longos - Long Integer Os nmeros inteiros longos tm um formato de 32 bits, com ou sem sinal,possuem ou so representados pela cor azul. Word Integer (azul) Estes nmeros tm um formato de 16 bits, com ou sem sinal, possuem ou so representados pela cor azul. Byte Integer (azul) Tm um formato de 8 bits, com ou sem sinal. Complex Extended (laranja) Nmero complexo com preciso extendida. Complex Double (laranja) Complexo com dupla preciso. Complex Single (laranja) Complexo com preciso simples. Array Um Array (vetor) um conjunto de tamanho variado de elementos que so do mesmo
26

CURSO DE ENGENHARIA ELTRICA CAMPUS DE SOBRAL

tipo. Os elementos do vetor so ordenados, e voc tem acesso a um elemento individualmente quando se ordena o vetor. O primeiro ndice zero, o qual indica que a dimenso do vetor varia de zero a n-1, onde n o nmero de elementos do vetor. Cluster (marrom ou rosa) Um cluster (agrupamento) armazena diferentes tipos de dados de acordo com as seguintes normas: os dados escalares so armazenados diretamente no agrupamento; e os vetores, strings e caminhos so armazenados indiretamente. Strings (rosa) A string utilizada quando se tem uma seqncia de caracteres alfanumricos.

Paths (verde escuro) O LabVIEW armazena os componentes, tipo e nmero, de um path (caminho) em palavras inteiras, seguidas imediatamente pelos componentes do caminho

4.2 Tabela de Simbolos de dados das Variaveis de Controle e Indicadores


Controle 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

CURSO DE ENGENHARIA ELTRICA CAMPUS DE SOBRAL

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.

4.3Mudana do tipo de dados

28

CURSO DE ENGENHARIA ELTRICA CAMPUS DE SOBRAL

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 Booleano String Arranjo 1D Cor Laranja Verde Rosa

O LabVIEW liga automaticamente objetos, conforme voc os posiciona no diagrama de bloco. Voc tambm pode ligar automaticamente objetos que j esto no diagrama de bloco. O LabVIEW conecta os terminais de melhor compatibilidade e deixa desconectados os terminais que no so compatveis.
29

CURSO DE ENGENHARIA ELTRICA CAMPUS DE SOBRAL

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

CURSO DE ENGENHARIA ELTRICA CAMPUS DE SOBRAL

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

5.1 String Length

O String Length indica o nmero de caracteres (bytes ) contidos num string. Veja o exemplo a seguir

31

CURSO DE ENGENHARIA ELTRICA CAMPUS DE SOBRAL

Este VI conta o nmero de caracteres contidos na palavra LabVIEW.

5.2 Concatenate Strings

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

CURSO DE ENGENHARIA ELTRICA CAMPUS DE SOBRAL

5.3 To Upper Case

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

CURSO DE ENGENHARIA ELTRICA CAMPUS DE SOBRAL

5.4 String Subset

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

CURSO DE ENGENHARIA ELTRICA CAMPUS DE SOBRAL

6.Funes Array

Um array um conjunto de elementos combinados na forma de matrizes ou tabelas.Todos os seus elementos devem ter o mesmo tipo de dados Quando, inserimos uma outra estrutura (controle numrico, booleano, string ou ring) dentro array basta arrasta a varivel com o mouse para dentro do array que esta sem nada dentro e adquire as configuraes de dados da varivel que est dentro :
35

CURSO DE ENGENHARIA ELTRICA CAMPUS DE SOBRAL

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 .

Sub Funes Array Essas funes que sero apresentadas ficam localizadas no menu Array que fica localida na paleta de functions no diagrama de blocos :

6.1 Build Array

Esta funo usada para construir arrays (matrizes )

36

CURSO DE ENGENHARIA ELTRICA CAMPUS DE SOBRAL

O exemplo acima demonstra um array de valores numericos , o lado esquerdo pertence a programao no painel frontal e o lado direito do diagrama de blocos ento podemos perceber que formado uma matriz com trs controles e trs indicadores sempre deve ter mesmo numero ambos , no se pode forma um uma matriz com nmero inferior de controles e dos indicadores na matriz (array).

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

CURSO DE ENGENHARIA ELTRICA CAMPUS DE SOBRAL

6.2Add Array Elements e Multiply Array Elements ( Soma e Multiplicao )


Veja o exemplo a seguir dessas duas operaes :

38

CURSO DE ENGENHARIA ELTRICA CAMPUS DE SOBRAL

Funo Add Array e Multiply Array podemos encontrar no menu localizado no diagrama de blocos na paleta Programming.

Numeric que est

6.3 ARRAY SIZE

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

CURSO DE ENGENHARIA ELTRICA CAMPUS DE SOBRAL

6.4 Index Array

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

CURSO DE ENGENHARIA ELTRICA CAMPUS DE SOBRAL

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.

6.5 Transpose 2D Array

Esta funo gera a matriz transposta de uma dada matriz .

41

CURSO DE ENGENHARIA ELTRICA CAMPUS DE SOBRAL

O exemplo a seguir mostra a matriz original com a sua respectiva matriz transposta e o diagrama de blocos responsvel por executar essa funo.

6.6 Array max e Min

Essa funo Array Max e Min indica o valor mximo e mnimo encontrado no array, com os seus respectivos ndices de cada valor .

42

CURSO DE ENGENHARIA ELTRICA CAMPUS DE SOBRAL

O exemplo demosntrar o valor mximo deste array o nmero 9 (ndice 2 a 2) e o mnimo o nmero 1 (ndice 0 a 0 )

43

CURSO DE ENGENHARIA ELTRICA CAMPUS DE SOBRAL

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

Esta funo agrupa elementos , transformando cluster.

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

CURSO DE ENGENHARIA ELTRICA CAMPUS DE SOBRAL

7.2Build Cluster Array

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

CURSO DE ENGENHARIA ELTRICA CAMPUS DE SOBRAL

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.

8.1 Constante Universais


1. Numeric: Um conjunto de valores matematicos e fsicos de preciso elevada e, geralmente usados como uma base natural do logaritmo .Esta constante est localizada na paleta : Functions >> Numeric >> Additional Numeric Constant

Obs: essas constantes possuem valores fixos no podem ser alterados

8.2 Constantes definidas pelo usurio


A paleta de functions inclui constantes organizadas por tipo, tais como Booleana, numeric, array , cluster e string entre outros , a maneira mais de criar uma constante clicar com o boto direto no terminal de entrada ou de sada de um VI e selecionando Funo Create Constant no menu de atalho.
46

CURSO DE ENGENHARIA ELTRICA CAMPUS DE SOBRAL

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:

Colocamos um varivel de controle numrico no painel frontal , no diagrama de blocos podemos criar a constante referente a varivel de controle ,basta clicar com o boto direito do mouse em cima da representao da varivel aparecera o menu e clicamos create >> Constant.

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

CURSO DE ENGENHARIA ELTRICA CAMPUS DE SOBRAL

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

CURSO DE ENGENHARIA ELTRICA CAMPUS DE SOBRAL

- 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

CURSO DE ENGENHARIA ELTRICA CAMPUS DE SOBRAL

Menu Propriedades do Grfico

9.1 Waveform Graph


O exemplo a ser mostrado posteriormente foi simulado um sinal que apresenta uma forma de onda senoidal (seno),a funo que gera o seno a Sine Waveform e se encontra no diagrama de blocos. Nela pode ser configurada a freqncia , a amplitude e a fase do sinal , entre outras.

50

CURSO DE ENGENHARIA ELTRICA CAMPUS DE SOBRAL

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

CURSO DE ENGENHARIA ELTRICA CAMPUS DE SOBRAL

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

CURSO DE ENGENHARIA ELTRICA CAMPUS DE SOBRAL

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.

10.1 Laos ( Loops)


So construes que permite executar uma seqencia de declaraes mais de uma vez. Existem duas formas bsicas de construo Laos : while Loop e For Loop. A principal diferena entre dois tipos de laos como a repetio controlada, ou seja While loop
53

CURSO DE ENGENHARIA ELTRICA CAMPUS DE SOBRAL

repetido uma quantidade indefinida vezes, enquanto for loop repetido uma quantidade definida de vezes (o nmero de repeties conhecido antes do incio do lao)

10.1.1 While Loop usado quando se deseja que uma operao se repita enquanto uma determinada condio seja verdadeira.

Condio dois Terminais : Loop Condition : A ele conectado uma boto Boolean. O LabVIEW confere o estado deste terminal ao termino de cada interao, se seu valor for true (verdadeiro) , ele para execuo do programa . Loop Interation : Indica nmero de vezes que o sub diagrama foi executado e o valor mnimo sempre ser zero.

Exemplo:
54

CURSO DE ENGENHARIA ELTRICA CAMPUS DE SOBRAL

O While Loop faz com que o programa seja executado infinita vezes,at que o boto conectado ao terminal condicional seja acionado.

10.1.2 For loop usado quando se deseja que uma operao se repita enquanto um determinado nmero de vezes.

Contm dois terminais : Loop Count :Contm o nmero de vezes que deve ser executado sub diagrama criado dentro da estrutura . O valor do contador se fixar externamente.

55

CURSO DE ENGENHARIA ELTRICA CAMPUS DE SOBRAL

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 .

10.2 Registros de Deslocamento


Os registros de deslocamento ou shift register esto disponveis tanto no For Loop como no While Loop, que permitem transferir os valores do final de uma iterao ao princpio da mesma. Inicialmente o shift register tem um par de terminais colocados em ambos os lados do Loop; o terminal da direita armazena o valor final da iterao at que um novo faa que este valor se desloque para o terminal da esquerda, ficando no da direita o novo valor. Um mesmo registro de deslocamento pode ter mais de um terminal no lado esquerdo; para adicion-lo escolheremos a opo Add Element (adicionar elemento) do menu pop-up.Quanto mais terminais tenhamos no lado esquerdo mais valores de iteraes anteriores poderemos armazenar. menu pop-up tem outros dois comandos: Remove Element Elimina sempre um terminal do lado esquerdo quando o registro de deslocamento tem mais de um elemento associado. Remove All Elimina todos os registros de deslocamento, tanto os terminais da esquerda como os da direita.

56

CURSO DE ENGENHARIA ELTRICA CAMPUS DE SOBRAL

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.

10.3 Case Structure


similar ao if, then,else,das linguagens de programao baseadas em texto e possui dois ou mais subdiagramas ou casos. Somente um subdiagrama visvel no diagrama de blocos de um VI , e uma estrutura executa um caso de cada vez.

Contm dois terminais : -Case Selector: Nele conectada uma condio. -Selector Label : Contm os casos a serem executados de acordo com a condio conectada ao Case Selector. O exemplo mostrado a seguir possui apenas dois casos ,True e False e tem como objetivo calcular a raiz quadrada de um valor inserido pelo usurio .Caso este valor seja maior ou igual a zero, a raiz quadrada calculada , se este valor for menor que zero , a raiz quadrada no calcula e uma mensagem mostrada avisando que no existe raiz para esse valor .
57

CURSO DE ENGENHARIA ELTRICA CAMPUS DE SOBRAL

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

CURSO DE ENGENHARIA ELTRICA CAMPUS DE SOBRAL

59