Programa¸c˜
ao B´
asica de LabVIEW
M´
ario Ramalho
2006
O objectivo ´e dar a conhecer as duas partes do LabVIEW, o painel frontal (Front Panel) e o diagrama de blocos (Diagrama de blocos). Pretende-se que os estudantes fiquem a conhecer as partes do ambiente de programa¸c˜ao de LabVIEW, do painel frontal e do diagramas de bloco. Ser´a efectuado tamb´em um instrumento virtual simples (VI) para incorporar opera¸c˜oes b´asicas em LabVIEW.
Table of Contents
Table of Contents 2 1 Introdu¸c˜ao 3 1.1 Bases . . . 3 1.1.1 Equipment List . . . 3 1.1.2 References . . . 3 1.2 Apresenta¸c˜ao . . . 3 1.2.1 Objectivos . . . 4 1.2.2 Introdu¸c˜ao . . . 41.2.3 Painel Frontal (Front Panel) . . . 5
1.2.4 Diagrama de Blocos . . . 5
1.2.5 Programa¸c˜ao do fluxo de Dados Dataflow . . . 7
1.2.6 SubVIs . . . 7
2 Exemplo I 10 2.1 Convers˜ao de unidades . . . 10
2.1.1 Notas ao funcionamento . . . 14
3 Exemplo II 17 3.1 Generate and display . . . 17
Introdu¸
c˜
ao
1.1
Bases
1.1.1
Equipment List
• Computador com LabVIEW 1
1.1.2
References
Existem abundantes links na net sob LabView.
• Getting Started with LabVIEW. November 2001. http:\\www.ni.com\manuals.
• LabVIEW User’s Manual. November 2001. http:\\www.ni.com\manuals.
• LabVIEW Student Edition. http:\\www.ni.com\LabVIEWse.
1.2
Apresenta¸
c˜
ao
Neste trabalho, ´e efectuada uma introdu¸c˜ao ao ambiente de Programa¸c˜ao do LabVIEW. Ser´a efectuado um instrumento virtual simples (vi) para incor-porar opera¸c˜oes b´asicas em LabVIEW.
4 Apresenta¸c˜ao
1.2.1
Objectivos
• Aprender os constituintes de um VI. • Conhecer as paletes de instrumentos.
• Aprender como s˜ao transmitidos os dados em LabVIEW.
• Distinguir entre os controlos e indicadores no painel frontal e no dia-grama de blocos.
• Criar um subVI usando m´etodos diferentes.
1.2.2
Introdu¸
c˜
ao
O LabVIEW ´e uma linguagem gr´afica de programa¸c˜ao que usa ´ıcones em vez de linhas de texto criar aplica¸c˜oes. Em contraste com as linguagens de programa¸c˜ao baseadas em texto, onde as instru¸c˜oes determinam execu¸c˜ao de programa, o LabVIEW usa programa¸c˜ao onde o fluxo de dados (dataflow) determina a forma da execu¸c˜ao.
A Interface de operador ´e constru´ıda por um conjunto de ferramentas e objectos, sendo designada por o painel frontal. O programa ´e efectuado us-ando representa¸c˜oes gr´aficas de fun¸c˜oes, para controlar os objectos no painel frontal.
O c´odigo fica definido num diagrama de blocos, que se pode associar a um fluxograma.
Os programas de LabVIEW s˜ao chamados instrumentos virtuais, ou VIs, porque a sua aparˆencia e opera¸c˜ao imita instrumentos f´ısicos, tal como os-cilosc´opios e mult´ımetros. Cada VI usa fun¸c˜oes que manipulam as entradas da interface ou outras e exibe essa informa¸c˜ao ou a transforma para outros blocos.
Um VI contem trˆes componentes:
Diagrama de blocos(Block diagram) Contem o c´odigo gr´afico que de-termina a funcionalidade do VI.
(Icon and connector pane) Identifica o VI de modo que pode usar o VI em outro VI. Um VI dentro de outro VI ´e chamado um subVI. Um subVI corresponde a uma sub-rotina em texto-baseado programando linguagens.
1.2.3
Painel Frontal (Front Panel)
Figura 1.1: Painel Frontal
O painel frontal ´e a interface de opera¸c˜ao do VI. O Painel frontal ´e con-stru´ıdo com comandos e indicadores, que s˜ao a entrada com interac¸c˜ao e terminais de produ¸c˜ao do VI, respectivamente. Os comandos s˜ao comuta-dores, bot˜oes, discos, e outros dispositivos de entrada. Os indicadores s˜ao gr´aficos, LED’s, ou outros mostradores. Os comandos simulam os comandos de um instrumento e fornecem os dados ao diagrama de bloco do VI. Os indi-cadores simulam os dispositivos de simula¸c˜ao de um instrumento e mostram os dados gerados pelo diagrama de blocos.
1.2.4
Diagrama de Blocos
Depois de definir o painel frontal, adiciona-se c´odigo usando representa¸c˜oes gr´aficas de fun¸c˜oes para controlar os objectos no painel. O diagrama de bloco
6 Apresenta¸c˜ao
Figura 1.2: Painel de entrada
contem este c´odigo gr´afico de fonte. Os objectos de painel aparecem como terminais no diagrama de bloco.
As diferentes fun¸c˜oes s˜ao unidas por meio de ’linhas’ por onde se comu-nicam os dados.
Figura 1.3: Exemplos de comandos e indicadores
Pain´eis LabVIEW
As paletes de LabVIEW d˜ao-lhe as op¸c˜oes que necessita para criar e editar o painel frontal e o diagrama de blocos.
Os pain´eis de ferramentas est˜ao dispon´ıveis no painel frontal e no dia-grama de blocos. Estas est˜ao dispon´ıveis com uma actua¸c˜ao no bot˜ao direito do rato.
A palete de Comandos Controls est´a dispon´ıvel s´o no painel frontal. O painel de comandos contem os comandos e indicadores que se usam para criar o painel frontal.
Figura 1.4: Blocos correspondentes aos objectos da figura 1.3
a b
Figura 1.5: (a)painel de comandos (Controls) (b)fun¸c˜oes (Functions)
A palete de fun¸c˜oes Functions est´a apenas dispon´ıvel no diagrama de blocos. O painel de Functions contem as fun¸c˜oes para construir o diagrama de bloco.
1.2.5
Programa¸
c˜
ao do fluxo de Dados Dataflow
O LabVIEW segue um modelo de fluxo de dados para correr VIs. Um n´o do diagrama de bloco ´e executado quando todas as suas entradas est˜ao dispon´ıveis. Quando um n´o completa execu¸c˜ao, fornece dados a seus termi-nais de sa´ıda e passa-os ao pr´oximo n´o no caminho de fluxo.
1.2.6
SubVIs
Introdu¸c˜ao
Depois de construir um VI e criar seu ´ıcone e liga¸c˜oes, podem ser usados noutro VI. Um VI chamado do diagrama de bloco de outro VI ´e
desig-8 Apresenta¸c˜ao
nado como subVI. Um subVI corresponde a uma sub-rotina (em linguagens baseadas em texto).
Cria¸c˜ao de um ´ıcone
Figura 1.6: Defini¸c˜ao do ´ıcone
Cada VI exibe um ´ıcone no canto superior direito do painel frontal e janelas do diagrama de bloco. Um ´ıcone ´e uma representa¸c˜ao gr´afica de um VI. Pode conter texto, imagens, ou uma combina¸c˜ao de ambos. Se usa um VI como um subVI, o ´ıcone identifica o subVI no diagrama de bloco do VI. O ´ıcone de defeito contem um n´umero que indica quantos novos VIs abriu desde que iniciou LabVIEW. Crie ´ıcones novos para substituir o ´ıcone de de-feito clicando o ´ıcone no canto superior direito do painel frontal ou diagrama de bloco e seleccione Edit Icon 1.6 do menu de atalho ou por dar um clique duplo no ´ıcone no canto superior direito do painel frontal.
Tamb´em pode arrastar um gr´afico para o canto superior direito do painel frontal ou diagrama de bloco. O LabVIEW converte o gr´afico a um ´ıcone de 32 X 32 de pixel’s.
Criando SubVI’s de sec¸c˜oes de um VI
Uma sec¸c˜ao de um VI pode ser utilizada diversas vezes tal como num pro-grama se usam rotinas, e em LabVIEW corresponde aos sub-VI. Um ´ıcone para o novo subVI substitui a sec¸c˜ao seleccionada do diagrama de blocos. O
LabVIEW cria comandos e indicadores para o novo subVI e liga o subVI aos fios existentes.
Criar um subVI de uma selec¸c˜ao ´e conveniente mas exige um planeamento cuidadoso para criar uma hierarquia l´ogica de VIs. Considere quais os objec-tos a serem incluir na selec¸c˜ao e evite mudan¸cas nas funcionalidades do VI resultante.
Cap´ıtulo 2
Exemplo I
2.1
Convers˜
ao de unidades
O Exemplo que se segue ´e um sistema de convers˜ao de unidades. Nesta s˜ao introduzidos diferentes tipos de display de modo a ilustrar as suas capaci-dades. O seu aspecto ´e mostrado na figura ??
Figura 2.1: Painel de entrada A convers˜ao oF paraoC ´e efectuada por meio de
oC = 5
9∗ (
oF − 32) (2.1)
1. Inicie o LabVIEW
2. Na janela, fa¸ca New Blank VI
3. (Opcional) Escolha Window ”Tile Left and Right ou CTRL T para colocar as janelas lado a lado.
4. Vamos come¸car por definir o layout do sistema, criando os comandos e indicadores.
Figura 2.2: Painel de entrada
(a) Na janela do painel frontal crie um indicador num´erico. Para isso seleccione uma ´area no painel frontal prima o bot˜ao direito do rato, premindo a seguir nos comandos adequados.
Figura 2.3: Painel de indicadores
(b) Seleccione o tipo de comando (neste caso bot˜ao rotativo), ao qual se associa um term´ometro e um indicador num´erico). Simultane-amente devem aparecer os blocos correspondente na janela do di-agrama de blocos.
(c) Agrupe-os da esquerda para a direita, o bloco correspondente ao bot˜ao, os blocos correspondentes ao indicador num´erico e term´ometro a seguir.
(d) Seleccione o tipo de indicador, neste caso um term´ometro, um indicador num´erico e um ponteiro. (Este ultimo ´e ilustrativo, pois
12 Convers˜ao de unidades
pode-se associar ao term´ometro a indica¸c˜ao num´erica do valor correspondente)
(e) Agrupe estes para a direita de modo a ficar um fluxo de dados l´ogico e linear.
(f) Nas propriedades do bot˜ao acerte o valor dos extremos para os valores correctos, neste caso 0 e 100
(g) Arranje o painel frontal de modo a ficar leg´ıvel, percept´ıvel e claro. Algumas das caracter´ısticas dos ”instrumentos”s˜ao seleccion´aveis nas ”propriedades”(e.g. cor do enchimento no term´ometro, es-calas, etc.).
(h) Coloque as legendas adequadas
5. Crie um loop while englobando os s´ımbolos todos. Para iss0 seleccione o bot˜ao respectivo (figura 2.4, e arraste at´e o quadrado englobar todos os ´ıcones
Figura 2.4: Painel de opera¸c˜oes
6. Vamos agora arranjar a estrutura interna. As opera¸c˜oes a efectuar s˜ao, uma multiplica¸c˜ao, uma divis˜ao e uma adi¸c˜ao.
Figura 2.5: Painel de opera¸c˜oes
Figura 2.6: sub-painel de opera¸c˜oes
8. disponha os blocos pela ordem l´ogica. Para os ligar os blocos, aponte com o rato para a periferia do um bloco, e ver´a aparecer as liga¸c˜oes e o cursor passar para um pequeno carrinho de linhas
Figura 2.7: cursos de liga¸c˜ao
Ligue as sa´ıdas ´as entradas desejadas, de acordo com as opera¸c˜oes. (a) A sa´ıda do bot˜ao liga a entrada do multiplicador
(b) A segunda entrada do multiplicador liga a uma constante de valor adequado.
14 Convers˜ao de unidades
(c) A sa´ıda do multiplicador liga ´a entrada superior do divisor( n˜ao ´e comutativo)
(d) A segunda entrada ´e ligada a uma constante de valor adequado (e) A sa´ıda do divisor liga ´a entrada do somador
(f) a segunda entrada do somador liga ´a constante respectiva (32) (g) Do indicador num´erico da entrada e do term´ometro da entrada
ligue ao tra¸co que sai do bot˜ao, de modo a accionar estes.
(h) Similarmente ligue a sa´ıda do somador a um dos indicadores, e dos outros ao tra¸co resultante.
Para pˆor o programa a funcionar carregue na seta, em cima.
Figura 2.8: Diagrama de blocos
Para adicionar o ”LED”o procedimento ´e semelhante, sendo o com-parador obtido pelo sequˆencia de pain´eis adequada.
2.1.1
Notas ao funcionamento
• O LabVieW possui diversos modos de funcionamento, e al´em do nor-mal, tˆem um modo, (accionado pela lampadazinha no menu), que per-mite visualizar o fluxo dos dados por meio de pontos que se sobrep˜oem ´
as linhas.
• O desenho das linhas est´a relacionado com o tipo de dados que con-duzem
Figura 2.9: Painel de entrada
Figura 2.10: Painel de entrada
• ´E poss´ıvel utilizar pontas de prova no diagrama de modo a visualizar os valores e dados. Estas aparecem clicando no bot˜ao direito quando o cursor est´a sobre a linha (muda para um p). Isto permite verificar o valor e o tipo de dados que est˜ao efectivamente a ser transmitidos.
a b
Figura 2.11: Pontas de prova
• As linhas n˜ao ligadas aparecem a tracejado, e podem ser removidas em conjunto por meio de CTRL-B
16 Convers˜ao de unidades
Exemplo II
3.1
Generate and display
Figura 3.1: Painel frontal
O exemplo que se segue ´e um sistema para fazer o display e compara¸c˜ao de duas ondas sinusoidais. Estas s˜ao geradas por software no pr´oprio programa, como se pode ver na figura 3.1
Existem dois cursores para comandar a frequˆencia, do lado esquerdo, sendo efectuado o display de modos diferentes.
1. Se iniciar o LabVIEW, na janela, fa¸ca New Generate and Display 2. Ou fa¸ca File New Generate and Display
3. (Opcional) Escolha Window ”Tile Left and Right ou CTRL T para colocar as janelas lado a lado.
18 Generate and display
4. A janela quando criada disp˜oe j´a de um gerador de sinais (com fun-cionalidades semelhantes aos do laborat´orio) e um tra¸cador de gr´aficos .
a b
Figura 3.2: Templte ”Generate and display”
5. Vamos adicionar algumas funcionalidades ao sistema, em particular uma indica¸c˜ao gr´afica do frequˆencia (baseada na FFT1, o Espectro de Potˆencia ou Power Spectrum2)
6. No painel de fun¸c˜oes selecione Analysis Espectral conforme est´a na figura 3.3
7. Al´em do bloco correspondente aparecer´a a selec¸c˜ao de op¸c˜oes, conforme a figura 3.4
8. Seleccione Power Spectrum e Linear OK
1Fast Fourier Transform
2Power Spectrum – For a given signal, the power spectrum gives a plot of the portion of a signal’s power (energy per unit time) falling within given fre-quency bins. The most common way of generating a power spectrum is by us-ing a discrete Fourier transform, but other techniques such as the maximum entropy method can also be used.(EricW.W eisstein.”P owerSpectrum.”F romM athW orld − −AW olf ramW ebResource.http : //mathworld.wolf ram.com/P owerSpectrum.html)
Figura 3.3: Painel de entrada
9. Reorganize os blocos de modo a manter uma sequˆencia l´ogica do fluxo de opera¸c˜oes. A leitura ´e efectuada da esquerda para a direita, pelo que ´e nessa direc¸c˜ao que o fluxo de ideias naturalmente flui.
10. Adicione outro gr´afico, conforme indicado na figura anterior. ´E adi-cionado o segundo de modo a permitir a representa¸c˜ao numa escala de frequˆencias lineares e numa escala de frequˆencias logaritmica.
11. Adicione cursores (ou outro) para comandar o frequˆencias e Amplitudes dos sinais (um para cada,por exemplo)
12. Por Copy and Paste crie um segundo gerador de sinais, de modo a ficar com dois sinais independentes independentes. (pode recorrer a (Ctrl+c Ctrl+v) dos conjunto anterior.
13. Nestes , com o rato, clique nas setinhas na parte de baixo e arraste para baixo. V˜ao aparecer diversas entradas e sa´ıdas em cada um dos blocos.
14. As caracteristicas dos sinais podem ser alteradas nas propriedades. 15. Ligue os bot˜oes criados antes `as entradas de frequˆencia amplitudes
20 Generate and display
Figura 3.4: Op¸c˜oes de ’Espectral’
16. Ligue as sa´ıdas ao respectiva entrada nos tra¸cadores de gr´aficos.
17. No segundo selecione as propriedades 3.5 e em Scales selecione o eixo dos xx(frequency), e a escala Logaritmica.
18. Verifique que funciona.
19. Crie uma caixa de texto no painel frontal. Identifique o trabalho com o numero(s), nomes (s), turno e grupo.
20. Adicione um segundo tra¸cador de gr´aficos para repetir a representa¸c˜ao do sinal, presente no inicio (ponto 4). Neste tra¸cador selecione as op¸c˜oes e efectue a representa¸c˜ao por pontos em vez dos segmentos de uni˜ao dos pontos.
21. O sinal representado nos dois ´e o mesmo. Certifique-se disso. No entanto o seu aspecto visual pode ser totalmente distinto e enganador
Figura 3.5: Propriedades do gr´afico
a b
Figura 3.6: Exemplos de funcionamento
3. Verifique este ponto por varia¸c˜ao da(s) fequˆencia(s) dos sinais de
entrada(fig 3.8.
22. A adi¸c˜ao do gr´afico xy foi efectuada pelo mesmo modo. Selecionando nas sa´ıdas Graph Ind XY Graph
3O nosso sistema visual agrupa sequˆencias mais ou menos «l´ogicas» de pontos- por isso entendemos uma linha tracejada como uma linha tracejada e n˜ao uma grupo de segmentos de recta. Faz exactamente a mesma coisa com os pontos no ´ecran
22 Generate and display
Figura 3.7: Propriedades do gr´afico
Figura 3.8: COmpara¸c˜ao dos m´etods de display
a b