introdução ao labview parte iii - chasqueweb.ufrgs.brvalner.brusamarello/inst/labview3.pdf · •...
TRANSCRIPT
Introdução ao LabviewParte III
Prof. Dr.Valner J. Brusamarello – DELET – UFRGSwww.chasqueweb.ufrgs.br/~valner.brusamarello
Tipos de dados no Labview
• O LabVIEW utiliza muitos tipos comuns: Boolean, Numeric, Arrays, Strings, Clusters, e outros.
• A cor e o símbolo dos terminais indica o tipo de dado do controle ouindicador.
• Terminais de controle são mais espessos que os terminais de indicadores.• Setas aparecem nos terminais do front panel para indicar se é controle ou
indicador – uma seta na direita - control, e uma seta na esquerda de indicadores.
• Definições:• Array: um grupo de elementos de dados do mesmo tipo. Um array consiste
de elementos e dimensões. Elementos são os dados propriamente ditos. A dimensão consiste no comprimento, altura e profundidade do array. Um array pode ter uma ou mais dimensões até (231) – 1 elementos pordimensão.
• Cluster: Os clusters agrupam elementos de dados de tipos diferentes.• Explore mais os tipos de dados com o help.
Exercício 14 – Uma aplicação explorando algumas funções
• Crie um VI onde dois sinais seno de frequência são simulados e mostrados em um gráfico no tempo. Coloque controles do tipo dial (ou semelhante para a amplitude e frequência). Rode o VI.
• Depois de mostrar em separado, some os dois sinais e coloque um bloco de filtro(Functions»Express»Signal Analysis»Filter). Coloque um controle para determinara frequência de corte.
• Aplique uma FFT (Fast Fourier Transform) para obter a informaçao no domíniofrequência do resultado e mostre a mesma em um gráfico. Use a funçao do Spectral Measurements Express VI (Functions»Express»Signal Analysis»Spectral).
• Depois de ver o resultado, some um ruído na entrada, mude o tipo de funçao de entrada de seno para quadrada, enfim, explore as possibilidades. Aproveite paraexplorar também algumas técnicas de organização de ferramentas no front panel.
• Enconter a frequência dominante do sinal filtrado utilizando o Express VI Tone Measurements e mostre em um controle com o nome “pico de frequênciaremovido”.
Strings
• A String é uma seqüência de caracteres ASCII• É utilizada para exibição de mensagens escritas,
textos etc.
Scan from String: Retira caracteres de uma String convertendo-os no formato definido.
Funções de String
Funções de String
Format Into String: Cria uma string a partir de uma string inicial mais elementos no formato desejado
O que é um Cluster
Estrutura de dados que agrupa dadosOs dados podem ser de tipos diferentes (diferente de arrays, que sópodem ser de um único tipo)Análogo a uma struct no C ou um record no PascalOs elementos tem de ser todos só controles ou só indicadoresMais ou menos como vários fios juntos em um cabo
Cluster - Controles e Indicadores1. Selecione um cluster
Cluster da paleta Array & Cluster
2. Coloque os objetosdentro do cluster
Cluster de Constantes
1. Selecione a função“Cluster Constant”na paleta Cluster
2. Coloque o tipo de dado dentrodo Cluster vazio criado
Array vazio de constante criado
Array constante
Utilizando Cluster para passar dados a SubVIs
Use clusters para passar vários dados por apenas um terminal
Resolve o problema do limite de 28 terminais
Simplifica, e muito, as ligações.
Cluster - Função BundleB
undl
eB
undl
e B
y N
ame
Cria um novo Cluster Modifica um cluster existente
OBS: Deve existir um cluster inicial para usar esta função.
Clusters de Erro
Use clusters de error in e error out em cada Vi que você usa ou cria para tratar os erros nos mesmos.Os Clusters de Erro ficam em Controls»Array & Cluster e eles contém:
Detalhes do Cluster de Erro
•Status é um booleano que indica TRUE se acontecer algum erro.
•Code é um signed 32-bit integer queidentifica o erro numericamente. Um valor diferente de zero, seguido por um status de falso, indica um warning aoinvez de um erro.
•Source é uma string que indica aondeos erros ocorreram.
Tratamento de erros com Clusters
• O LabVIEW não trata erros automaticamente. Você podefazer as decisões de tratamento de erros no Block Diagram.
• O Fluxo do tratamento de erros segue como o modelo de fluxo de dados.
• Ligue as entradas e saídas de tratamento de erro entreos Vis. Isto também é uma maneira de garantir o sequenciamento do processamento.
Error Cluster
Função Simple Error Handle
•Use o Simple Error Handler para tratar oserros no fim de uma seqüência de execução.
•O Simple Error Handler fica localizado emFunctions»All Functions»Time and Dialog. Ligue o error cluster na entrada “error in (no error)”
Usando loop While para Tratamento de errosVocê pode ligar um cluster de Erro no terminal condicional de umWhile para parar a execução caso ocorra um erro. Apenas o booleano de status é passado para este terminal.
Um exemplo utilizando array e cluster com gráfico
• Criar um gráfico a partir de um cluster t0 é o tempo inicialdelta t é o intervalo entre amostrasY é um array de dados de amplitude
• Shift registers transferem dados de uma interação até outra:• Botão direito no lado direito ou esquerdo de um laço for ou while e
selecione Add Shift Register.• O terminal direito armazena dados do final da iteraçao. Dados
aparecendo no terminal esquerdo – início da próxima iteraçao.• Um shift register adapta qualquer tipo ligado na entrada.• Um entrada de 0 resultaria em uma saída de 5 na primeira iteraçao,
10 na segunda iteração e 15 na terceira. • Em outras palavras, shift registers são usados para reter valores de
uma iteraçao para a próxima.• São úteis em muitas aplicações que usam memória ou
realimentaçao entre estados.• O feedback node é outra representaçao do mesmo conceito.• Ambos programas a seguir produzem o mesmo resultado.
Shift register
Comunicação entre laços
• Não existem meios de comunicar dois laçosparalelos usando fluxo de dados.
• Dados não podem entrar ou sair de umaestrutura enquanto a mesma estiver rodando.
• Variáveis são elementos de diagrams de blocosque permitem armazenar valores nos diferenteslocais.
• Variáveis locais armazenam variáveis emcontroles e indicadores no front panel.
• As va’riáveis permitem um link entre dois laçossem a necessidade de ligaçao física.
Exercício 15 - Variáveis Locais
• Criar um VI que comunica-se entre dois laços while em paralelo usandovariáveis locais.
• No Front Panel, coloque um LED Switch e dois indicadores Booleanos.• No Diagrama de blocos, coloque dois laços while e crie um botão stop.
• Botão direito no controle LED Switch no Diagrama de blocos e selecione Create » Local Variable
• Coloque a nova variável local no segundo laço while.• Botão direito na variável e selecione Change To Read. Isso significa que
ao invés de escrever na variável, vamos ler o dado nela escrito.
Exercício 15 - Variáveis Locais
• Repita o processo para o botão Stop. • Botão direito no botão Stop do Front Panel e mude a açao
mecânica para chavear quando solto. • Variáveis locais não podem armazenar dado Booleano de latch.
Exercício 15 - Variáveis Locais
• Rode o VI. Note como podemos controlar osvalores do LED e parar dois laços com um controle.
Exercício 15 - Variáveis Locais
Controle de instrumentos
• Ao configurar um sistema de teste é geralmente necessário utilizardiferentes instrumentos com diferentes padrões de comunicação.
• GPIB, serial, PXI modular instruments, aquisição de imagens, controle de movimento, USB, Ethernet, porta paralela, CAN.
• GPIB - General Purpose Interface Bus, definido pela ANSI/IEEE Standard 488.1-1987 e 488.2-1992. Descreve uma interface padrãopara comunicação entre instrumentos e e controladores de várisofabricantes.
• A GPIB é uma interface paralela digital, 8-bit com 3 fios de handshaking e pode atingir taxas de 1 Mbyte/s ou mais rápidas.
• Atualmente não é mais uma tendência, frente a por exemplocomunicações field bus.
• GPIB support site - www.ni.com/support/gpibsupp.htm for additional information about GPIB.
Controle de instrumentos
• Comunicação Serial – O protocolo de transmissão serial utiliza um transmissor para enviar dados um bit por vez para um receptor.
• A única vantagem (que hoje não é mais uma realidade) é que todosos micros tinham ao menos uma porta serial e não era necessárionenhum hardware.
• Quatro parametros devem ser especificados: baud rate, data bits, parity bit, and stop bits. Um frame de caracteres transmite após o start bit iniciar a comunicação .
• Existem vários padrões. Os mais comuns:• RS-232 (ANSI/EIA-232 Standard) (mais popular)• RS-422 (AIA RS-422A Standard)• RS-485 (EIA-485 Standard)• Quando utilizamos uma USB, o LABVIEW se comunica com o
windows por uma porta virtual : com5, com7,…
Controle de instrumentos
• O Instrument I/O Assistant é um Express VI do LabVIEW com o qual podemos comunicar com os instrumentos.
• Podemos comunicarmos com um instrumentoque utiliza a serial, Ethernet, ou GPIB.
• O Instrument I/O Assistant organiza a comunicação com o instrumento em passosordenados.
• Para usar o Instrument I/O Assistant, colocamosuma sequência de passos.
Exercício 16 - Controle de instrumentos
• Test de Loop back com o Instrument I/O Assistant
• Esse exercíçio usa a porta serial e necessita de um cabo serial.• Complete os seguintes passos para configurar o Instrument I/O
Assistant para executar o teste de loopback usando a porta serial.• Conecte o cabo serial a porta do computador.• Conecte as linhas transmission e receive do cabo serial cuto-
circuitando os pins 2 e 3:• Inicie um novo VI e coloque o Instrument I/O Assistant no
diagrama de blocos e selecione Instrument I/O » Instrument I/O Assistant.
• Abra o dialog box de configuraçao do Instrument I/O Assistant.• Selecione COM1.• Clique Add Step para criar um novo passo e selecione Query and
Parse.• Configure o passo Query and Parse:• Digite *IDN? No campo de entrada de comando.• Dê um nome ao Instrument I/O Assistant digitando Loopback no
campo de Token name.• Clique em “Run this Step” para executar o teste de loopback.• Clique o botão “Auto Parse” para converter os dados para ASCII.
• Clique no botão OK para sair da janela de configuraçao e gerar o código.
• Botão direito na saída da string do Instrument I/O Assistant e crie um indicador.
• Retorne ao front panel e rode o VI. Observe o texto no indicator.
• Como é um teste de loop back o texto do indicador deve ser igual ao texto de entrada.
Exercício 16 - Controle de instrumentos