Escolar Documentos
Profissional Documentos
Cultura Documentos
Introduo ao labVIEW
Criar novo VI
Um VI apresenta duas partes principais, essas so: front panel (painel frontal) e
block diagram (diagrama de blocos). O painel frontal a interface de usurio para o
programa, nele se encontra as entradas e sadas do programa, que no LabVIEW so
chamados controladores e indicadores, respectivamente. A partir desse ambiente, o
operador pode controlar e supervisionar o programa da forma que o convm.
Painel Frontal
Diagrama de Blocos
Aquisio de dados
II.
Painel Frontal
pela controls palette a partir de um clique sobre o painel frontal com o boto direito do
mouse.
Nesse curso iremos estudar trs principais tipos de controladores e indicadores:
booleanos, numricos e string.
Controladores numricos so usados para inserir dados numricos no programa
desenvolvido. Suas finalidades so as mais diversas vo desde entrar com valores para simples
clculos matemticos at apontar valores para nveis de variveis em dispositivos perifricos.
Controlador string usado para entrar com textos. Strings so usadas para escrever
em arquivos de texto gerados pelo LabVIEW, controlar instrumentos enviando mensagens de
textos e outros.
Por outro lado, os indicadores sero teis para a exibio dos dados de interesse ao
usurio, portanto, indicadores numricos, booleano e strings exibem dados do tipo numrico,
lgico (verdadeiro/falso) e do tipo string, respectivamente. Esses indicadores so de extrema
importncia ao operador, pois eles indicam o estado de todas as variveis do processo, esse
sistema com vrios indicadores chamado de sistema supervisrio.
Exerccios:
1. A partir da criao de um novo VI, faa:
a) Use um controlador e um indicador numrico no painel frontal, conecte os
terminais que surgiram no diagrama de bloco e execute o programa.
b) Insira valores no controlador e execute o programa, depois repita esse passo
para novos valores e observe o que acontece.
c) Refaa os itens a) e b) usando controlador booleano/string e indicador
booleano/string.
Grficos no LabVIEW
O software LabVIEW possui diversas formas de exibir resultados de operaes
numricas, ou mesmo de dados que so transferidos (sinais) para esse ambiente por
meio de hardwares ou simulados, e nesta categoria de indicadores encontramos os
grficos que possuem a finalidade exibir diferentes tipos e formatos de dados
numricos. Neste curso, focaremos nosso estudo nos tipos de grficos WaveForm
Chart, WaveForm Graph e XY Graph.
Os grficos podem ser inceridos no programa pelo painel frontal na Palheta de
Controle, na aba Modern (tambm existem outras) e na sub aba Graph, conforme a
figura abaixo.
- WaveForm Chart
Este tipo de grfico bastante utilizado quando pretende-se exibir informaes
numricas discretas e que possuam um certo nmero de amostras ou uma taxa de
amostragem. A figura mostra o WaveForm Chart e suas ferramentas de auxlio.
Label
X Scrollbar
Scale Legend
Graph Palette
Cada um desses itens podem ser acessados clicando com o boto direito do
mouse sobre o WaveForm Chart e na aba Visible Items pode-se habilitar e desabilitar
cada item deste. No exemplo acima foi simulada uma simples funo senoidal conforme
o diagrama de blocos a abaixo.
- WaveForm Graph
Este tipo de grfico bastante utilizado quando se deseja plotar formas de onda,
as quais representam dados plotados continuamente. A figura abaixo mostra o
WaveForm Graph.
O diagrama de blocos utilizados para plotar os pontos acima (1,4), (2,5) e (3,5)
mostrado abaixo.
Tabelas no LabVIEW
No LabVIEW tambm possvel organizar conjuntos de pontos em uma tabela
no painel frontal. Esta tabela pode ser localizada na palheta de controle, aba Modern e
na sub aba List, Table & Tree temos o Ex Table, o qual o mais utilizado. Abaixo segue
a tabela no painel frontal, juntamente com o diagrama de blocos.
No exemplo acima foi criada uma tabela com um conjunto de trs pares de
nmeros feitos por meio de vetores.
III.
Diagrama de Blocos
O diagrama de blocos o ambiente onde basicamente estar a programao em
blocos do LV, neste espao, pode-se conectar os controles a uma diversidade de blocos
que realizam diversas operaes, e por fim, exibi-las em algum indicador. A figura
abaixo mostra a tela do diagrama de blocos.
O diagrama de blocos pode ser acessado pela barra de Menus em Window >
Show Block Diagram, ou simplesmente clicando em Ctrl + E.
Para acessar os blocos que realizam operaes, basta clicar com o boto direito
do mouse sobre a tela, que aparecer a Function Palette, nesta paleta de funes contm
diversas abas e sub abas com vrios blocos que podem ser ligados controles e
indicadores. A figura abaixo mostra a palheta de funes.
Operaes Matemticas
As operaes matemticas no LV so feitas basicamente utilizando os blocos da
aba Programing e sub aba Numeric, ou na aba Mathematics. Nesta sub aba (figura
abaixo) encontra-se as operaes mais bsicas da matemtica. Trataremos aqui de
exemplos mais bsicos de operaes matemticas.
- Adio (Add)
Soma o valor de dois controles e fornece o resultado no terminal de sada.
- Incremento (Increment)
Incrementa de uma unidade o valor de entrada no controle.
- Seno (Sin)
Calcula o seno de um arco devido a uma entrada.
- AND
Esta funo computa a condio lgica entre duas entradas booleanas, onde seu
resultado ser verdadeiro se somente se ambas as entradas forem verdadeiras (TRUE),
caso contrrio, ser falso (FALSE). A figura abaixo ilustra um caso genrico com este
bloco.
- OR
Esta funo computa a condio lgica entre duas entradas booleanas, onde seu
resultado ser verdadeiro bastando que uma das duas entradas, ou mesmo as duas, sejam
verdadeiras (TRUE), caso contrrio, ser falso (FALSE). A figura abaixo ilustra um
caso genrico com este bloco.
- NOT
Esta funo inverte o estado lgico de uma entrada, se a entrada for verdadeira
(TRUE), a sada ser falsa (FALSE), e vice versa.
- EXCLUSIVE OR (XOR)
Calcula o valor lgico ou exclusivo (XOR) para uma entrada, se as duas entradas
tiverem a mesma condio lgica, ento o resultado falso (FALSE), caso contrrio,
seria verdadeiro (TRUE).
Exerccios:
1- Escreva a funo booleana (A and B) or (not (B or C)).
2 Monte um programa em LV para o circuito digital abaixo (figura da esquerda).
3 Crie um programa em LV com lgica booleana para encher ou esvaziar um tanque
industrial por meio de duas eletrovlvulas, sendo uma para a entrada e outra para o
escoamento do lquido. O circuito lgico atravs de um sensor de nvel mximo no
tanque e de boto interruptor de duas posies, deve atuar nas eletrovlvulas para
encher o tanque totalmente (boto ativado) ou, ainda, esvazi-lo totalmente (boto
desativado). Figura da direita.
Operaes Condicionais
As operaes condicionais consistem em uma classe de blocos chamados de
comparao, encontrados em Programing > Comparison. Estes blocos so responsveis
por fazer operaes lgicas com outras variveis como numricas, string, etc. Ou
mesmo realizar operaes lgicas entre variveis do mesmo tipo.
- Selecionar (Select)
O bloco da funo Select mostra em sua sada o valor conectado entrada t
(True) ou a entrada f (False) dependendo do valor lgico na entrada s (Select).
Exerccios:
1- Criar um programa em LV em que o usurio entre com o valor de temperatura em
Celsius, mas o resultado possa ser exibido ou em Fahrenheit ou Kelvin em um nico
indicador.
2- Criar um programa em LV que indique qual o maior e o menor dentre 7 nmeros
diferentes.
3- Criar um programa que indique se o nmero maior que zero, menor que zero ou
igual a zero.
Vetores e Matrizes
- Vetores (Array)
Vetores no LV so estruturas que podem agrupar em slots informaes
numricas, booleanas e strings, porm, concentraremos esse curso em informaes
numricas. Um array pode ser construdo utilizando-se os blocos encontrados em
Programing > Array, onde o bloco mais bsico para se comear a construir um array o
Build Array, a figura abaixo ilustra como construir um vetor de trs elementos.
Build Array
- Soma (Add)
Soma dos vetores ponto a ponto.
- Matriz (Matrix)
As matrizes no LV so composies especiais de array que so construidas com
o bloco Build Matrix, o qual encontrado em Programing > Array > Matrix. Abaixo
segue um exemplo de uma matriz 4x2.
Build Martrix
Como se v na figura acima, o While Loop tem dois terminais padres, so eles:
terminal de iterao (canto inferior esquerdo) e o terminal condicional (canto inferior
direito). O terminal de iterao um contador de iteraes que inicia a partir do zero, ou
seja, para a primeira iterao esse terminal gera o valor zero, e incrementa seu valor a
cada iterao do lao While. O terminal condicional avalia um sinal booleano de entrada
para determinar se o While Loop continua ou no sendo executado.
Exerccios:
1) Usando os blocos Random Number (0-1) (Paleta Numeric) e Greater?
(Paleta Comparison), crie um programa usando While Loop que compare um
nmero aleatrio (Random Number) com um valor constante que esteja no
intervalo ]0, 1[. Se o nmero aleatrio for maior que o valor constante o lao
While deve ser encerrado.
2) Repita os passos do exerccio 1) para o valor constante maior do que 1. Qual o
comportamento esperado para o programa? Por que?
3) Crie um contador que inicie com valor 10 e incremente at 20 em intervalos e 1
segundo. O programa dever encerar quando o contador atingir valor 20 ou
quando o operador clicar o boto stop.
4) Crie um programa que realize a soma entre um valor inserido pelo operador com
o quadrado desse mesmo nmero enquanto a soma menor do que 240.
-For Loop
For loop permite que determinado cdigo seja executado repetidamente, o
nmero de repeties determinado pelo programador. Para insero desse loop basta
acessa a Paleta Strucutres do diagrama de blocos e em seguida selecionar o cone
correspondente ao For Loop.
Exerccios:
1) Efetue a soma ou subtrao de dois nmeros complexos que devem ser inseridos
pelo operador e o resultado mostrado em um indicador. O operador ter que ter a
capacidade de escolha entre as operaes, se a operao soma for escolhida o
programa tambm dever mostrar o mdulo da soma ou se a operao subtrao
for escolhida, o programa tambm dever indicar o conjugado da subtrao.
2) Crie um programa no qual o operador ter que ter a capacidade de escolha entre
a soma ou subtrao de dois nmeros complexos quais quer, em seguida
proporcione ao operador a escolha entre o mdulo ou o conjugado do resultado.
3) (Desafio) Crie um contador que incremente de 0 a 10 a cada 500 ms, quando o
contador atingir 10 ele dever decrementar at 0, quando atingir 0 incrementar
novamente. O programa deve permanecer nesse loop.
-Flat Sequence
O Flat sequence consiste em um conjunto de subdiagramas que so executados
sequencialmente. Essa estrutura bastante peculiar no LabVIEW, pois ela consegue
influenciar levemente o fluxo de dados no interior de seus frames (use o modo
HighLight de execuo).
Exerccio:
1) Crie um programa que escreva incio em um indicador quando se inicia a
execuo e o mesmo indicador, 10 segundos depois, deve escrever fim.
Operaes com Grficos e Tabelas
- WaveForm Graph
O WaveForm Graph, conforme j foi mencionado, utilizado para plotar
grficos de dados dinmicos, uma das formas utilizadas para visualizar os sinais sendo
plotados dinamicamente utilizando o bloco Simulate Signal ligado em um WaveForm
Graph dentro de um While Loop, conforme figura abaixo.
Exerccio:
1) Imagine que voc o mais novo estgirio do laboratrio de sistemas motrizes
no CEAMAZON, uma das bancadas desse laboratrio consiste de uma bomba
dgua que leva a gua de um reservatrio inferior a outro reservatrio superior,
voc o responsvel para criar um programa no LabVIEW que proporcione ao
operador da bancada iserir valores de vazo de gua nos tubos de coneco entre
os reservatrios, velocidade de rotao do eixo da bomba dgua e o nvel do
reservatrio superiror. Essas trs variveis devem ser inseridas pelo operador em
trs campos distintos e mostradas em uma tabela. O operador ir inserir esses
conjuntos de valores a cada 5 minutos, faa com que todos os conjuntos de
valores inseridos sejam mostrados na mesma tabela.