Introdução ao Labview Parte III - chasqueweb.ufrgs.brvalner.brusamarello/inst/labview3.pdf · •...

47
Introdução ao Labview Parte III Prof. Dr.Valner J. Brusamarello – DELET – UFRGS www.chasqueweb.ufrgs.br/~valner.brusamarello

Transcript of Introdução ao Labview Parte III - chasqueweb.ufrgs.brvalner.brusamarello/inst/labview3.pdf · •...

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.

Tipos de dados no Labview

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.

Modos de Exibição da String

Texto Normal

HexaCódigos

Senhas

Funções de String

String Length:

Concatenate String:

Funções de String

String Subset:

Match Pattern:

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.

Cluster - Função Unbundle

Unbundle Unbundle By Name

Cluster criado no Painel Frontal

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.

Usando arrays e clusters com gráficos

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

Mesmo exemplo com buildwaveform

• 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

Shift register

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.

Variáveis locais

Variáveis Locais

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

Controle Instrumentos

Exercício cluster

Exercício cluster

Exercício Fórmula Node

Exercício Cluster

Estude e rode o programa abaixo

Estude o programa a seguir.

Estude o programa a seguir.