Você está na página 1de 17

Instituto Superior Tcnico

Curso de LabVIEW
Pedro M. Ramos
Pedro.Ramos@Lx.it.pt

Parte I 14 de Outubro de 2004

IST/DEEC
1

O que o LabVIEW ?
Linguagem de programao grfica
desenvolvida pela National Instruments (ni.com) Inclui rotinas para a comunicao com dispositivos ligados ao PC (externos atravs de GPIB, RS-232 e internos DAQ, placas digitais I/O ) No LabVIEW, o fluxo de dados controla a execuo (dataflow programming) 2

LabVIEW
Os programas chamam-se Virtual
Instruments (VIs) Cada VI pode ser configurado como sub-rotina (sub-VI) e ser chamado por outros VIs Cada VI tem um painel frontal (Front Panel), um diagrama de blocos (Block Diagram), um cone (Icon) e um terminal de ligaes (Connector Pane) Para construir um VI, seleccionam-se objectos de palettes e usam-se ferramentas para ligar com fios os objectos e para os modificar
3

Ferramentas (Tools )
Automatic Tool Selection Operate Value Wire Breakpoint Position/Size/Select Edit Text Scroll Window Probe Data

DICA: DICA: DICA:

Para visualizar esta palette, seleccionar no menu: Window, Show Tools Palette Para trocar rapidamente entre ferramentas usar a tecla TAB Usar tecla de ESPAOS para trocar entre Operate & Position no painel frontal e Wire & Position no diagrama de blocos
4

Painel Frontal (Front Panel)


O painel frontal o rosto do programa Contm indicadores (sadas) como por exemplo
indicadores numricos, grficos e LEDs Contm tambm controlos (entradas) como por exemplo botes, interruptores e controlos numricos Os controlos e indicadores do painel frontal tm uma representao no diagrama de blocos que permite a sua ligao ao programa No entanto, s podem ser apagados no painel frontal
DICA: Por omisso, o painel frontal tem um fundo cinzento
5

Painel Frontal (Controls Palette)


Boolean Numeric Array/Cluster String and Path Graph

DICA: Para ver esta palette usar o boto direito do rato em qualquer zona vazia do painel frontal

Palettes
Cada item de uma palette com uma
seta preta no canto superior direito tem uma sub-pallete Por exemplo, na palette Controls existe uma sub-palette Numeric, onde se podem seleccionar diferentes formas de indicadores e controlos

Palettes
Usando o pin presente no canto
superior esquerdo de cada palette possvel fixar a palette Esta permanecer no mesmo local depois do rato se ter deslocado Facilita a colocao de diversos objectos da mesma palette

Painel Frontal
Botes Run, Run Continuously, Abort e Pause Controlo Boolean cone

Controlo Numrico Indicador Numrico Controlo Numrico (Tank)

Controlo Array Indicador Boolean (LED)

Grfico Waveform
9

Diagrama de Blocos
no diagrama de blocos (Block Diagram) que a
programao dos VIs feita Todos os objectos presentes no painel frontal (Front Panel) esto representados no diagrama de blocos Os diferentes objectos (controlos, indicadores, funes e VIs) so ligados por fios que gerem o fluxo de dados e controlam a ordem de execuo do programa Cada fio s pode ter uma origem (source) mas podem ter diversos destinos (sinks)
DICA: DICA: Por omisso, o fundo do diagrama de blocos branco Para encontrar um objecto no painel frontal (diagrama de blocos), fazer duplo clique sobre a sua representao no diagrama de blocos (painel frontal) 10

Dataflow Programming
Cada funo ou VI s executado quando
todas as entradas so conhecidas No LabVIEW no existem variveis como nas linguagens de programao de texto Os fios so as variveis A cada fio est associado um tipo de dados (inteiro, boolean, string, etc)

11

Diagrama de Blocos (Fios)


Os fios finos representam variveis escalares,
enquanto que arrays de uma dimenso so representados por linhas grossas e arrays de duas dimenses por linhas paralelas Os dados numricos so representados por fios laranja (reais) e azuis (inteiros) Booleans so verdes e as strings so rosa Waveforms so trilhos vermelhos Clusters so trilhos rosa
12

Diagrama de Blocos (Functions Palette)


Numeric Array Structures String Comparison Data Acquisition Instrument I/O Boolean Cluster File I/O Analyze Waveform Mathematics DICA: Para mostrar esta palette usar o boto direito do rato em qualquer rea vazia do diagrama de blocos

13

Block Diagram
Boto Highlight Execution Funes numricas bsicas Indicador

Controlos Numricos

Constante

Build Array

Mean VI

Indicador

14

HELP
Ctrl+H activa Context Help Sempre que o rato passa por cima de um
VI, a janela Context Help mostra o seu cone, nome, entradas sadas, descrio do VI e um link para o HELP total USEM ESTA FUNCIONALIDADE !!!
15

Controlos/Indicadores Numricos
O tipo por omisso inteiro (I32) ou double (DBL) Para mudar o tipo, clicar com boto direito do rato
e seleccionar Representation Para alterar a forma como os nmeros so apresentados, clicar com o boto direito do rato no objecto e seleccionar Format & Precision

16

Controlos
Quando um VI aberto, os controlos assumem
o seu valor por omisso (default value) Para mudar estes valores basta modificar o valor no controlo e depois com o boto direito do rato seleccionar

Data Operations Make Current Value Default

Para manter estes valores, basta gravar o VI


17

Criao de VIs
Normalmente comea-se por adicionar controlos
e indicadores no painel frontal e depois nos diagrama de blocos adicionam-se sub-VIs, funes e as correspondentes ligaes com fios Os fios que ficam a tracejado representam erros Quando um VI tem erros no pode ser executado e o boto RUN fica quebrado Para obter uma descrio dos erros usar este boto
18

DICA: Crtl+B elimina todos os fios a tracejado DICA: Crtl+E troca entre o painel frontal e o diagrama de blocos

Criao de VIs
Outra forma de criar VIs consiste em colocar as
funes e VIs a usar no diagrama de blocos, liga-los e criar os controlos/indicadores usando o boto direito do rato nos respectivos fios ou terminais e seleccionando Create Control/Indicator/Constant Como exemplo, vamos criar um VI para converter graus Celsius para graus Fahrenheit

19

Criao de VIs - Exemplo

T[F]=32+1.8 T[C]

20

Definio de VIs como subVIs


subVIs so VIs com entradas e sadas
definidas de modo a serem usados dentro de outros VIs Por exemplo, definindo a temperatura em Celsius como uma entrada e a temperatura em Fahrenheit como uma

sada, o VI anterior pode ser chamado por outros Vis Este VI continua a poder ser usado sozinho Para introduzir um subVI usar Select a VI
21

cone / Terminal de Ligaes


O cone o smbolo grfico que
representa o VI quando ele usado como subVI noutro VI O terminal de ligaes (Connector Pane) define quais so as entradas (controlos) e sadas (indicadores) do VI para que seja usado como subVI
DICA: Para editar o cone fazer duplo-clique com o rato sobre o cone
22

Definio de VIs como subVIs


A definio das entradas e sadas feita
no terminal de ligaes que acedido no painel frontal usando o boto direito do rato no cone e seleccionando Show Connector Depois ligam-se as entradas (lado esquerdo) aos controlos e as sadas (lado direito) aos indicadores
DICA: Usando o boto direito do rato no terminal possvel adicionar ou remover terminais ou seleccionar outros padres pr-definidos
23

Definio de VIs como subVIs


Podem ser criados subVIs a partir de seces de VIs Selecciona-se a rea que contm os objectos

(fios, funes, controlos, indicadores e VIs) e escolhe-se Edit/Create subVI do menu Os fios que entram (saem) na rea so transformados em controlos (indicadores) e so usados como entradas (sadas) do subVI Todos os controlos (indicadores) presentes na rea so convertidos em entradas (sadas) do subVI
24

Formula Node
Funes com uma ou mais entradas/sadas
descritas por uma frmula algbrica Usadas para simplificar os diagramas Cada linha da frmula acaba com ;

DICA: Para uma entrada e uma sada usar um Expression Node

25

Ciclos (Loops)
Existem dois tipos bsicos de ciclos no
LabVIEW: While e For No ciclo While o diagrama localizado dentro do ciclo executado at que uma condio se verifique (ou se deixe de verificar) No ciclo For o diagrama executado um nmero definido de vezes Em ambos os casos existe um terminal i que corresponde ao nmero da iterao (comea em 0)
26

Ciclo For
Nmero de iteraes

Nmero iterao

rea do ciclo FOR


27

Ciclo While
Passagem de valores para dentro do ciclo

rea do While

Nmero iterao

Terminal condio

DICA: Com o boto direito do rato sobre o terminal de condio possvel mudar entre Stop if True e Continue if True

28

Shift Registers
So usados para passar valores entre iteraes
Terminal de Shift Register

DICA: Para adicionar um shift register, clicar com boto direito do rato sobre a frame do For ou While e seleccionar Add Shift Register

29

Estrutura Case
A varivel que controla o Case ligada ao
Selector Terminal. S um dos diagramas do Case ser executado, dependendo do valor da varivel A varivel pode ser Boolean, numrica ou string Existe sempre um diagrama que executado para as situaes no previstas As variveis de sada tm de ser ligadas em todos os diagramas
30

Exemplo da Estrutura Case

T[C]=(T[F] 32 )/ 1.8

T[F]=32+1.8 T[C]

31

Estrutura Sequncia (Sequence)


Usada para garantir a execuo sequencial
de diversos diagramas Cada diagrama colocado numa frame numerada (0..x) As frames podem ser duplicadas, apagadas ou reordenadas (boto direito sobre o nmero da frame) Valores das frames anteriores podem ser passados para frames seguintes usando Sequence Locals
32

Exemplo da Estrutura Sequncia

33