A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

AC723_09/2010 Cristiane Martins AC-723 – MÉTODOS EXPERIMENTAIS PARA TURBINA A GÁS – aulas 22-23 Prof.(a) Cristiane Martins Instituto Tecnológico de Aeronáutica.

Apresentações semelhantes


Apresentação em tema: "AC723_09/2010 Cristiane Martins AC-723 – MÉTODOS EXPERIMENTAIS PARA TURBINA A GÁS – aulas 22-23 Prof.(a) Cristiane Martins Instituto Tecnológico de Aeronáutica."— Transcrição da apresentação:

1 AC723_09/2010 Cristiane Martins AC-723 – MÉTODOS EXPERIMENTAIS PARA TURBINA A GÁS – aulas 22-23 Prof.(a) Cristiane Martins Instituto Tecnológico de Aeronáutica Divisão de Eng. Aeronáutica / Dept. de Propulsão 09/2010

2 AC723_09/2010 Cristiane Martins Introdução ao LabView Breve Revisão – Assunto a tratar -Arrays & Charts/Graphs -Case & Sequence Structures

3 AC723_09/2010 Cristiane Martins Revisão -

4 AC723_09/2010 Cristiane Martins Instrumentação Virtual Stand Alone InstrumentPC Based Instrument Vendor Defined User Defined

5 AC723_09/2010 Cristiane Martins Elementos chaves de Instrumento Virtual AcquisitionPresentationAnalysis Signal Routing and Conditioning INSTRUMENT DAQ Boards IEEE488 (GPIB) VXI RS-232 Trigger Control Format Calculate User Interface Hard Copy File I/O Interprocess Communication Networking

6 AC723_09/2010 Cristiane Martins Arquitetura do Software Acquisition AnalysisPresentation LabVIEW NI-DAQ Serial Commands NI-488.2NI-VXI Instrument Drivers

7 AC723_09/2010 Cristiane Martins Integrating Your System LabVIEW Software Analysis and Presentation LabVIEW Software Analysis and Presentation Hardware & Driver Software Acquisition and Control Hardware & Driver Software Acquisition and Control GPIB Instruments Serial Instruments DAQ Products Unit Under Test Process VXI Instruments PC or Workstation Other networked computers

8 AC723_09/2010 Cristiane Martins LabVIEW Básico Três passos: 1. Familiarizar-se com o ambiente. 2. Familiarizar-se com as funções LabVIEW. 3. Aprender como desenvolver uma aplicação.

9 AC723_09/2010 Cristiane Martins 1. Ambiente LabVIEW Painel Frontal x Diagrama de Blocos Ambos lado a lado. Repare que Painel Frontal possui fundo cinza enquanto Diagrama de Blocos branco. Para que a tela apareça neste formato clique em Windows>>Tile Left and Right ou simplesmente Ctrl + T

10 AC723_09/2010 Cristiane Martins 1.1 – PAINEL FRONTAL Paleta de Controle (controls palette) selecione: Windows>>Show Controls Palette A paleta de controle consiste de ferramentas como indicadores e controles e é utilizada para editar o painel frontal.

11 AC723_09/2010 Cristiane Martins O painel frontal é o rosto do programa Contém indicadores (saídas) como por exemplo indicadores numéricos, gráficos e LEDs Contém também controles (entradas) como por exemplo botões, interruptores e controles numéricos Os controles e indicadores do painel frontal têm uma representação no diagrama de blocos que permite a sua ligação ao programa No entanto, só podem ser apagados no painel frontal DICA: Por “default”, o painel frontal tem um fundo cinzento 1.1 PAINEL FRONTAL

12 AC723_09/2010 Cristiane Martins 1.2 – DIAGRAMA DE BLOCOS Paleta de Funções selecione: Windows>>Show Functions Palette A paleta de funções consiste de ferramentas como indicadores e controles e é utilizada para editar o diagrama de blocos.

13 AC723_09/2010 Cristiane Martins 1.2 Diagrama de Blocos É no diagrama de blocos (Block Diagram) que a programação dos VIs é feita Todos os objetos presentes no painel frontal (Front Panel) estão representados no diagrama de blocos Os diferentes objetos (controles, indicadores, funções e VIs) são ligados por fios que geram o fluxo de dados e controlam a ordem de execução do programa Cada fio só pode ter uma origem (source) mas podem ter diversos destinos (sinks) DICA: Por ‘’default’’, o fundo do diagrama de blocos é branco DICA: Para encontrar um objeto no painel frontal (diagrama de blocos), fazer duplo clique sobre a sua representação no diagrama de blocos (painel frontal)

14 AC723_09/2010 Cristiane Martins Diagrama de Blocos (Fios) Os fios finos representam variáveis escalares, enquanto que arrays de uma dimensão são representados por linhas grossas e arrays de duas dimensões por linhas paralelas Waveforms são trilhos marrons

15 AC723_09/2010 Cristiane Martins 1.6 Paleta de ferramentas (tools palette) _ interage tanto no Painel Frontal quanto no Diagrama de Blocos selecione: Windows>>Show Tools Palette Utilizada para editar as VIs. Pressionando a tecla altera-se as ferramentas comumente mais utilizadas na janela ativa. Os ícones que compõe esta paleta :

16 AC723_09/2010 Cristiane Martins 2.1 Conectando objetos (somente no diagrama de blocos) Para conectar um terminal a outro selecione o ''conecta objetos'', clique uma vez sobre a saída do primeiro objeto, mova o mouse até a entrada do segundo objeto e clique novamente. A definição para quem é o primeiro e quem é o segundo objeto independe para o funcionamento. Quando o ''conecta objetos'' está sobre um terminal, a área do terminal pisca indicando que o clique liga o fio no terminal. Um exemplo de ligação é mostrado na Figura

17 AC723_09/2010 Cristiane Martins Selecionando e apagando fios Para selecionar um fio escolha a ferramenta ''posiciona objetos'' clique sobre o fio e. 2.2 Fio tracejado Um fio tracejado representa uma ligação incompatível. Você pode ter um fio tracejado por uma série de razões, como conectar dois controles, ou uma fonte com saída de dados incompatíveis (por exemplo, gerar dados numéricos e utilizar indicadores booleanos). Para removê-los escolha edit>>remove bad wires ou simplesmente CTRL + B. Não confunda fio tracejado com pontuado. O pontuado representa um dado tipo booleano. Abaixo um exemplo de fio tracejado (indica erro) ao lado de uma ligação pontuada.

18 AC723_09/2010 Cristiane Martins 2.3 Criar constantes e Indicadores Para objetos atuando como entradas ou saídas no diagrama de blocos, o LabVIEW possui uma forma de se criar uma constante ou indicador sem a necessidade de utilizar a paleta de funções. Posiciona-se o mouse sobre o terminal que se deseja criar uma constante ou indicador, clica-se, com o botão direito do mouse, sobre este terminal e seleciona create>>control ou create>>constant ou ainda create>>indicator.

19 AC723_09/2010 Cristiane Martins 2.4 Context Help (ajuda resumida) O Context Help é uma janela, que se pode abrir no LabVIEW, que fornece um pequeno resumo sobre qualquer objeto do programa. Pode-se abrir o Context Help selecionado Help>>Show Context Help ou através Ctrl+H e posionando o mouse sobre o objeto.

20 AC723_09/2010 Cristiane Martins 2.7 Técnicas para encontrar erros (debbugging) 2.7.1 Utilização do ''Probe data'‘ Uma forma de encontrar erros é lendo os sinais em toda a VI. Para ler um sinal em um ponto específico pode-se utilizar uma ponta de prova. "Probe data'‘ que está disponível na paleta de ferramentas. Basta selecioná-lo e clicar sobre o ponto do fio que se quer conhecer o valor 2.7.2 Utilização do ''Highlight Execution'‘ Esta ferramenta permite a visualização do fluxo do sinal no diagrama de blocos.

21 AC723_09/2010 Cristiane Martins 2.5 Executar uma VI 1. Deixar o painel frontal ativo clicando sobre a janela ou escolhendo windows>>show front painel. 2. Execute uma VI clicando ''run button'' na barra de ferramentas do painel frontal. 3. Caso deseje executar repetidamente, clique sobre o ''continuous run button''.

22 AC723_09/2010 Cristiane Martins 2.6 Atente para as CORES BLUE número inteiro / ORANGE número com ponto flutuante Green representa lógica booleana Purple representa string 2.7 Indicadores/Controles Somente podem ser deletados no Painel Frontal 2.8 Atente para ESPESSURA Indicadores têm bordas finas. Controles têm bordas grossas.

23 AC723_09/2010 Cristiane Martins 2.7 Transparente É possível tornarmos gráficos, indicadores e controles transparentes.

24 AC723_09/2010 Cristiane Martins Sub VI Esta lição mostrou como criar um ícone e terminal de ligações de tal forma que se possa utilizar uma VI como SubVI em outra VI. Uma SubVI é análoga a uma subrotina em uma linguagem de programação baseada em texto. Utilizar SubVI simplifica o diagrama de blocos e ajuda a gerenciar modificações nas VIs.

25 AC723_09/2010 Cristiane Martins Ícon e 1.Cada VI é representada por um ícone que aparece no canto superior direito do Painel Frontal e Diagrama de Blocos. 2.Por ''default'‘ este ícone indica o número de novas VI você abriu desde que iniciou o LabVIEW. Abra uma nova VI e observe o número indicado.

26 AC723_09/2010 Cristiane Martins 3. Com o mouse sobre o ícone clique com a direita. Selecione Edit Icon. Você poderá substituir o ícone “default” pelo seu através de Icon Editor. Clique com a direita sobre o ícone e selecione Edit Icon ou simplesmente sobre o ícone duplo clique com a direita.

27 AC723_09/2010 Cristiane Martins Para utilizar uma VI como subVI você deverá construir uma caixinha de terminais (terminal de ligações). O terminal de ligações é uma série de terminais que definem entradas e saídas da VI. Você deverá associar aos terminais do conector controles e indicadores presentes no Painel Frontal. A seguir os passos para construção de um terminal de ligações.

28 AC723_09/2010 Cristiane Martins Sem conectores não é possível entrar e sair de dados através da VI O item Show Connector mostrará o símbolo de entradas e saídas.

29 AC723_09/2010 Cristiane Martins Cada retângulo representa um terminal. O número de terminais que aparece depende do número de controles e indicadores no painel frontal. Terminais de entrada (controles) aparecem a esquerda, enquanto terminais de saída aparecem a Direita e correspondem aos indicadores. Terminais. O máximo números de terminais disponíveis para SubVI é 28. Para evitar criar ícones confusos, tente não associar mais do que 16 terminais em uma VI.

30 AC723_09/2010 Cristiane Martins Resumo Uma VI no interior de outra VI é denominado SubVI. Para utilizar uma VI como SubVI, você deverá necessariamente construir um ícone e terminal de ligações. Utilize Icon Editor para criar seu próprio ícone. O terminal de ligações é um conjunto de terminais que correspondem a controles e indicadores no Painel Frontal da VI. Defina a conexão por associar controle ou indicadores do Painel Frontal a conectores da caixa de terminais.

31 AC723_09/2010 Cristiane Martins Após construir VI e criar ícone e terminal de ligações, você poderá utilizá-la como subVI. Será mostrado: - Adicionar uma SubVI no Diagrama de Blocos de outra VI. -Abrir uma subVI a partir de uma VI. -Especificar quais conexões são exigidas, recomendadas ou opcionais.

32 AC723_09/2010 Cristiane Martins Você pode abrir e editar uma subVI. Qualquer modificação que fizer afetará somente a VI em andamento até que você salve a subVI. Quando salvar as variações afetarão todas as VIs que utilizam esta subVI, não somente a atual.

33 AC723_09/2010 Cristiane Martins Loops, Formula Node e Shift Registers

34 AC723_09/2010 Cristiane Martins

35 AC723_09/2010 Cristiane Martins

36 AC723_09/2010 Cristiane Martins Functions>>Structures>> Loop For Functions>>Numeric>>Trignometric>>Sinc Functions>>Time&Dialog>>Wait Until Next ms Multiple Functions>>Numeric>>Random Number

37 AC723_09/2010 Cristiane Martins

38 AC723_09/2010 Cristiane Martins

39 AC723_09/2010 Cristiane Martins – Arrays

40 AC723_09/2010 Cristiane Martins Arrays Array é uma coleção de elementos do mesmo tipo. Array pode ser utilizado com uma coleção de dados similares ou quando você executa cálculos repetitivos. Arrays são ideais para estocar dados coletados de waveforms ou gerados em loops, onde cada iteração de um loop produz um elemento do array.

41 AC723_09/2010 Cristiane Martins Arrays Array consiste de elementos e dimensões. Elementos são os dados que fazem o array. Dimensão é comprimento, altura ou profundidade de um array. Um array pode ter uma ou mais dimensões e tantos quantos 2.e+31-1 elementos por dimensão e a memória permita. Arranjo bi-dimensional ao lado tem 7 colunas e 5 linhas contendo 35 elementos. 5-linhas por 7 colunas, Array de 35 elementos.

42 AC723_09/2010 Cristiane Martins Arrays Elementos do Array são indexados tal que você pode prontamente acessar qualquer elemento particular. A indexação é baseada no zero, o que significa faixa de 0 a n-1, onde n é o número de elementos do arranjo. O primeiro elemento de um arranjo tem valor 0. A Figura ao lado mostra um array não inicializado bidimensional.

43 AC723_09/2010 Cristiane Martins Criar um array de controle ou indicador: 1.Adicione a carcaça de array no painel frontal. 2.Arraste um control ou indicador para dentro desta carcaça. selecione: Control Palette>>Array & Cluster

44 AC723_09/2010 Cristiane Martins Criar um array de controle ou indicador: 1.Adicione a carcaça de array no painel frontal. 2.Arraste um control ou indicador para dentro desta carcaça. Paleta Controls e clique Array&Cluster Nota: O elemento pode ser control ou indicador numérico, booleano, string, path, refnum ou cluster. O elemento não pode ser outro array ou gráfico. Se o elemento é um gráfico, este tipo de dados não pode ser array, mas pode ser um cluster que contém array. Cluster será tratado em aulas posteriores.

45 AC723_09/2010 Cristiane Martins

46 AC723_09/2010 Cristiane Martins Arrays O valor do elemento para localização de índice 0 é 6.0 nesta VI. O valor para localização de índice 1 é 3.90.

47 AC723_09/2010 Cristiane Martins Functions>>Structures>> Loop For Functions>>Structure>>Case Functions>>Array>>Initialize Array Functions>>Array>>Build Array Functions>>Comparison>>Less Than 0?

48 AC723_09/2010 Cristiane Martins Functions>>Structures>> Loop For Functions>>Structure>>Case Functions>>Array>>Initialize Array Functions>>Array>>Build Array Functions>>Comparison>>Less Than 0?

49 AC723_09/2010 Cristiane Martins

50 AC723_09/2010 Cristiane Martins Para adicionar uma dimensão em um array clique com a direita no mostrador do index e selecione Add Dimension.

51 AC723_09/2010 Cristiane Martins Utilize a Position Tool para redimensionar elementos mostrados, para adicionar ou subtrair elementos em um arranjo.

52 AC723_09/2010 Cristiane Martins Para criar array constante no Diagrama de Blocos clique Array na paleta Functions e Cique Array Constant.

53 AC723_09/2010 Cristiane Martins

54 AC723_09/2010 Cristiane Martins Utilize Operating Tool para variar o valor de um elemento em um array constante. Você não poderá variar o valor durante a execução do programa. Use um array constante, por exemplo, para criar um teclado numérico.

55 AC723_09/2010 Cristiane Martins Como gerar arrays na fronteira dos loops? For Loop e While Loop podem indexar e acumular arrays em suas fronteiras automaticamente. Esta capacidade é chamada auto-indexing.

56 AC723_09/2010 Cristiane Martins Se conectarmos um array em um For Loop ou While Loop, poderemos ler e processar cada elemento neste arranjo. Basta para tal habilitarmos auto- indexing. Com auto- indexing o tunel de saída recebe um novo elemento para cada iteração do loop. O fio proveniente da saída torna-se espesso quando conectado a um array.

57 AC723_09/2010 Cristiane Martins Uma vez que você pode utilizar For Loop para processar um elemento de cada vez, LabVIEW por ‘’default’’ deixa no For Loop o auto-indexing habilitado. Para desabilitá-lo clique com a direita Disable Indexing no submenu. Por exemplo, caso você precise apenas do último valor da iteração não é necessário criar um array.

58 AC723_09/2010 Cristiane Martins LabVIEW desabilita auto- indexing para While Loops por ‘’default’’. Somente o valor da última iteração é passado através do tunel.

59 AC723_09/2010 Cristiane Martins Para habilitar auto-indexing para um While Loop, clique com a direita no túnel, e clique Enable Indexing. Nota: Você criar arrays com While Loop, mas não pode saber quão grande será este arranjo, uma vez que não sabemos quantos valores sairão até que a condição seja do loop seja satisfeita. Isto é diferente do Fror Loops cujo número de ietrações é conhecido.

60 AC723_09/2010 Cristiane Martins Para criar arrays bi- dimensionais podemos colocar um For Loop dentro de outro For Loop. O For Loop externo cria os elementos de linha e o interno cria os elementos de coluna.

61 AC723_09/2010 Cristiane Martins Crie um Array 4 colunas x 6 linhas

62 AC723_09/2010 Cristiane Martins Se você habilitar auto- indexing em um arranjo conectado a entrada do For Loop, LabVIEW ajusta o contador do terminal para o tamanho do array, então você não precisa conectar o contador. Se você habilitar auto- indexing para mais do que um tunel, ou se ajustar o terminal contador, o contador torna-se o menor das duas escolhas. Por exemplo, o array conectado a entrada do For Loop mostrado neste slide tem 4 elementos. A entrada do contador está ajustada para 10. O loop irá executar 4 vezes.

63 AC723_09/2010 Cristiane Martins Crie um array usando For Loop

64 AC723_09/2010 Cristiane Martins Algumas funções básicas de arrays

65 AC723_09/2010 Cristiane Martins Array Size A função Array Size apresentará o número de elementos em cada dimensão de um array. Se o array é n-dimensional, o tamanho da saída será um arranjo de n elementos. Do exemplo anterior resulta em 6 linhas e 4 colunas. Functions>>Arrays>>Array Size

66 AC723_09/2010 Cristiane Martins Initialize Array A função Initialize Array cria um arranjo n- dimensional no qual cada elemento é inicializado com o valor que você especificar no terminal Element Data da função. No exemplo, Inialize Array apresenta um array com 3 elementos. Cada elemento tem o valor 4. Você pode redimensionar a função Initialize Array aumentando o número de dimensões na saída do array. Functions>>Arrays>>Initialize Array

67 AC723_09/2010 Cristiane Martins Build Array Build Array ADICIONA elementos para um arranjo n-dimensional. Ao lado, acoplou um elemento que tem valor 4 em um arranjo com os elementos com valores 7,3 e 2. Você poderá redimensionar a função Build Array aumentando o número de elementos no arranjo de saída. Functions>>Arrays>>Build Array

68 AC723_09/2010 Cristiane Martins Array Subset Array Subset apresenta um determinado pedaço de um array. Para especificar o ponto de partida, forneça o índice do elemento de partida. O comprimento do Array deve ser especificado no terminal Array Length. No exemplo ao lado Array Subset parte com o terceiro elemento, o qual tem valor 7 e produz um array de saída com 4 elementos. Dica: Lembre- se que o índice do array inicia-se com 0, ou seja o primeiro elemento tem índice 0. Functions>>Arrays>> Array Subset

69 AC723_09/2010 Cristiane Martins

70 AC723_09/2010 Cristiane Martins Functions>>Arrays>>Build Array Functions>>Arrays>> Array Subset Functions>>Structures>>Case Functions>>Structures>> Sequence Functions>>Comparison>> Select Functions>>Boolean>>Not

71 AC723_09/2010 Cristiane Martins Functions>>Arrays>>Build Array Functions>>Arrays>> Array Subset Functions>>Structures>>Case Functions>>Structures>> Sequence Functions>>Comparison>> Select Functions>>Boolean>>Not Functions>>Numeric>>Increment

72 AC723_09/2010 Cristiane Martins Build Array Por ‘’default’’ Build Array concatena múltipos arrays. Para concatenar as entradas em um longo array de mesma dimensão, clique com a direita na função Build Array e clique Concatenate Inputs no menu curto. Functions>>Arrays>>Build Array

73 AC723_09/2010 Cristiane Martins Index Array Caso você necessite acessar um elemento dentro de um array basta especificar o índice do mesmo através da função Index Array. No exemplo retorna o valor 7, o qual é o terceiro elemento na entrada do array. Functions>>Arrays>> Index Array

74 AC723_09/2010 Cristiane Martins Index Array Caso você necessite extrair não um elemento mas uma linha inteira dentro de um array n-dimensional basta especificar o índice do mesma através da função Index Array. Dica: Lembre-se sempre que arrays tem base inicial zero (0). Se você quisesse a linha com os valores 7, 3 e 2 o valor do índice desta linha é 0. Functions>>Arrays>> Index Array

75 AC723_09/2010 Cristiane Martins Polimorfismo?

76 AC723_09/2010 Cristiane Martins As funções numéricas localizadas em Functions>>Numeric são polimorficas. Isto significa que as entradas destas funções podem ter estruturas de dados diferentes, tais como escalares e arrays. Por exemplo utilize a função Add para somar um escalar em um arranjo como mostra a figura ao lado. A função Add irá adicionar o escalr 2 em cada elemento do array.

77 AC723_09/2010 Cristiane Martins A mesma função, Add, pode ser utilizada para somar dois arrays. Observe ao lado o terceiro exemplo. Quando você soma dois arrays de tamanhos diferentes, a função Add produz um array com o tamanho do menor array, como exemplificado no quarto exemplo.

78 AC723_09/2010 Cristiane Martins Arrays – Resumo Grupos de elementos de dados do mesmo tipo constitui um array. Um array possui uma ou mais dimensões e elementos por dimensão até onde a memória permite. O acesso a cada elemento dentro do array se faz por um índice (index).

79 AC723_09/2010 Cristiane Martins Se você conectar um array tanto no For Loop quanto no While Loop, você poderá ler e processar cada leitura e processar cada elemento neste array por habilitar auto-indexing. Quando você conecta um array proveniente de uma função externa para uma entrada na borda do loop e habilita auto-indexing (nesta entrada), elementos deste arranjo entram neste loop um por um partindo do primeiro. Clique com a direita na passagem da borda do loop e selecione Enable Indexing proveniente do mini- menu para habilitar ou desabilitar o auto-indexing. Auto-indexing para While Loops é desabilitado por default.

80 AC723_09/2010 Cristiane Martins Problema1: Estudar o efeito ‘indexing’ no LabVIEW. Indexing é utilizado quando precisamos criar um array proveniente de fluxo de dados amostrados ou quando vc precisa de cada amostra individual em um array data.

81 AC723_09/2010 Cristiane Martins Objetos chaves, VIs e Funções utilizadas: Controls>>Graph>> XY Graph Functions>>Structures>> For Loop Functions>>Numeric>> Random Number (0-1) Functions>>Time&Dialog>> Wait (ms) Functions>>Cluster>> Bundle

82 AC723_09/2010 Cristiane Martins GRÁFICOS NO LabVIEW

83 AC723_09/2010 Cristiane Martins VIs com gráficos usualmente coletam dados em um array e então plotam os dados no gráfico

84 AC723_09/2010 Cristiane Martins Chart – Indicador de traços Gráfico – Indicador gráfico Waveform Chart: Visualiza um gráfico ponto a ponto. Waveform Graph: Visualiza um gráfico em formato de array. Waveform Graph and Waveform Chart mostram dados adquiridos a uma taxa constante. XY Graph: Visualiza um gráfico em função de suas coordenadas. XY Graphs mostra qualquer série de pontos, igualmente amostrados ou não.

85 AC723_09/2010 Cristiane Martins Waveform Charts Indicador que mostra um ou mais plots.

86 AC723_09/2010 Cristiane Martins A Waveform Chart mantém um histórico de dados, ou buffer, a partir dos dados previamente atualizados. Right-click the chart and select Chart History Length from the shortcut menu to configure the buffer. O default chart history length para waveform chart é de 1024 pontos de dados. A frequência para a qual os dados são enviados determina quantas vezes a carta é redesenhada.chart history length

87 AC723_09/2010 Cristiane Martins Find Examples >> Chart.vi

88 AC723_09/2010 Cristiane Martins Strip, Scope and Sweep Charts

89 AC723_09/2010 Cristiane Martins

90 AC723_09/2010 Cristiane Martins Indicadores Gráficos - LabVIEW Um indicador gráfico é um mostrador bidimensional (2D) de um ou mais arranjos de dados (arrays) denominados plots. LabVIEW possui 2 tipos de gráficos: XY Graphs e Waveform Graphs. Ambos parecem idênticos no Painel Frontal.

91 AC723_09/2010 Cristiane Martins Ambos os gráficos muitas vezes utilizam Cluster para controlar a entrada de dados, então Bundle é freqüentemente utilizado. Para Waveform Graphs, os componentes bundados incluem valor inicial, o valor delta (espaçamento entre valores de X) e o arranjo de dados Y.

92 AC723_09/2010 Cristiane Martins Waveform e XY Graphs VIs com gráficos usualmente coletam dados em um array (arranjo) e plotam os dados no gráfico. Os gráficos no LabVIEW incluem ‘waveform graph’ e os ‘XY graph’. Os gráficos estão localizados Graph (subpaleta) da Controls paleta. Esta lição explicará as diferenças entre estes dois tipos de gráficos e como utilizá-lo em uma VI.

93 AC723_09/2010 Cristiane Martins Waveform e XY Graphs Waveform graph plota somente funções de valores únicos, como y=f(x), com pontos regularmente distribuídos ao longo do eixo x tal como formas de onda variando no tempo. XY mostra qualquer conjunto de pontos, regularmente amostrados ou não. XY graph é para propósito geral, objetos Cartesianos que plotam funções multivalores, tais como formas circulares ou formas de onda que tenham base de tempo variando. Ao lado waveform graph e um simples XY graph.

94 AC723_09/2010 Cristiane Martins Waveform e XY Graphs Waveform graph é semelhante a uma waveform chart, mas é utilizada para mostrar pontos de dados para um tempo para um ou mais traçados. Gráficos são muitas vezes utilizados para mostrar dados após serem adquiridos ou gerados. Uma carta mostra dados ponto-a-ponto ou array-a-array retendo um certo número de pontos passados em um buffer para mostrar. Charts são muitas vezes utilizados para mostrar dados que estão sendo adquiridos. Um waveform graph é mais eficiente em recursos do que waveform chart. Um waveform graph representa somente uma tela atualizada com um arranjo ao invés de várias atualizações (um por ponto) representadas pela waveform chart.

95 AC723_09/2010 Cristiane Martins Clusters Para utilizar gráficos, é importante uma noção rudimentar sobre uma outra estrutura do LabVIEW, o cluster. Um cluster é um tipo de estrutura que agrupa dados, mesmo de diferentes tipos. Você pode imaginar um cluster como um conjunto (bundle) de fios, semelhante a cabo telefônico. Cada fio do cabo representa um elemento diferente do cluster.

96 AC723_09/2010 Cristiane Martins A função Bundle (Array&Cluster) reuni os componentes de plot dentro de um único cluster. Para Waveform graph, os componentes incluem valor inicial X, o deltax dx e o arrayY.

97 AC723_09/2010 Cristiane Martins Ambos os gráficos muitas vezes utilizam Cluster para controlar a entrada de dados, então Bundle é freqüentemente utilizado. Para Waveform Graphs, os componentes bundados incluem valor inicial, o valor delta (espaçamento entre valores de X) e o arranjo de dados Y.

98 AC723_09/2010 Cristiane Martins Single-Plot Graphs Single plot waveform aceita um único array e interpreta os dados como pontos no gráfico. O incremento do índice no single plot é 1 e parte do zero. Vamos fazer o exemplo ao lado.

99 AC723_09/2010 Cristiane Martins Single-Plot Graphs Single plot waveform também pode acessar um cluster de um valor inicial x, delta x e um array de y dados. Neste slide a VI utiliza a função Bundle para criar o cluster e enviá-lo para waveform graph.

100 AC723_09/2010 Cristiane Martins Multi-Plot Graphs Um multi-plot waveform graph aceita um array 2D (bidimensional), onde cada coluna de array é um single plot. O gráfico enxerga os dados como pontos e incrementa o índice de 1, partindo do zero x=0.

101 AC723_09/2010 Cristiane Martins Para plotar cada coluna do array 2D, clique com a direita Transpose Array no submenu.

102 AC723_09/2010 Cristiane Martins Você pode utilizar cluster com multi-plot waveform para especificar o espaçamento entre pontos no eixo x de cada gráfico. Utilize a função Bundle para especificar valores de x e delta x.

103 AC723_09/2010 Cristiane Martins XY Graphs Semelhante a waveform graphs, XY pode ter tanto single quanto multi-plots. O single plot mostrado ao lado contém um arranjo de x e um arranjo de y.

104 AC723_09/2010 Cristiane Martins

105 AC723_09/2010 Cristiane Martins XY Graphs x Waveform Graph A principal característica de um indicador gráfico XY é que o mesmo valor de x pode ter inúmeros valores de y, o que pode constituir inúmeras funções.

106 AC723_09/2010 Cristiane Martins Como plotar multicanais de dados em uma Waveform Chart e uma Waveform Graph

107 AC723_09/2010 Cristiane Martins Controls>>Graph>>Waveform Chart Controls>>Graph>>Waveform Graph Functions>>Arrays>>Build Array Functions >>Cluster>>Bundle Functions >> Structures >> While Loop

108 AC723_09/2010 Cristiane Martins

109 AC723_09/2010 Cristiane Martins Case Structures

110 AC723_09/2010 Cristiane Martins Case Structures Esta lição mostra a criação e uso de case structures no LabVIEW. A estrutura case é similar a declaracões if...then...else, ou seja se...então...senão, ou seja quando if..then for verdadeiro, a parte then da instrução é executada, quando a instrução if...then for falsa, a parte Else é executada. A estutura case tem dois ou mais subdiagramas, ou casos, como mostrado ao lado. Somente um subdiagrama é visível no diagrama de blocos da VI e a estrutura executa somente um caso por vez.

111 AC723_09/2010 Cristiane Martins Para criar a estutura Case, clique na subpaleta Structure na paleta Function

112 AC723_09/2010 Cristiane Martins Por default Case structure é booleana, Tem duas possibilidades – Verdadeiro (TRUE) e Falso (FALSE)

113 AC723_09/2010 Cristiane Martins Vamos ver um exemplo de como usar a estrutura Case em uma VI. A VI ao lado calculaa a raiz quadrada de um número positivo. Se o número é negativo, a VI retorna uma mensagem de erro.

114 AC723_09/2010 Cristiane Martins O default case para este Caso é falso como mostrado no seletor identificador no topo da Case Structure.

115 AC723_09/2010 Cristiane Martins Você deve especificar case default para manusear valores fora da faixa ou explicitamente listar cada possível valor de entrada. O case default neste exemplo retorna uma mensagem de erro e o valor -99999.0 quando você entra com número negativo no painel frontal.

116 AC723_09/2010 Cristiane Martins O Caso ‘TRUE’ calcula a raiz quadrada do número que vc entrou no Painel Frontal.

117 AC723_09/2010 Cristiane Martins Para determinar qual caso executar, conecte um valor de entrada no terminal selecionador mostrado a esquerda como um sinal de interrogação, Você poderá conectar um inteiro, booleano, string ou valor tipo enumerado, Se o selecionador é booleano, o caso terá um caso True e outro False, Se o terminal selecionador for conectado com um inteiro, string ou valor tipo enumerado, a estrutura poderá ter até (2.e+31)-1 casos.

118 AC723_09/2010 Cristiane Martins Para determinar qual caso executar, conecte um valor de entrada no terminal selecionador mostrado a esquerda como um sinal de interrogação, Você poderá criar múltiplos túneis de entrada e saída em uma estrutura Case como mostrado ao lado. Os túneis de entrada e saída aparecem como quadrados na borda.

119 AC723_09/2010 Cristiane Martins Entradas estão disponíveis em todos os subdiagramas, mas subdiagramas não precisam utilizar cada uma das entradas como mostrado no subdiagrama do caso TRUE. A entrada Numeric3 não está sendo utilizada. Você deve, entretanto, definir o túnel de de saída em cada caso.

120 AC723_09/2010 Cristiane Martins Quando você cria um túnel de saída em um caso, túneis aparecem na mesma posição na borda em todos os outros casos. Você pode definir uma fonte de dado diferentes para o mesmo túnel se saída em cada caso, mas os tipos de dados deverão ser compatíveis. Por exemplo, no diagrama de blocos deste slide, Numeric 2 está conectado em Result no caso falso e em Result 2 no caso Verdadeiro.

121 AC723_09/2010 Cristiane Martins Terminais de saída não ligados aparecem como quadrados brancos como mostra o slide ao lado.

122 AC723_09/2010 Cristiane Martins Você poderá conectar constantes ou controles aos túneis sem ligação, clicando com mouse a direita.

123 AC723_09/2010 Cristiane Martins Os slides seguintes mostram 3 exemplos de estruturas Case – uma booleana, uma string e um inteiro. Em cada exemplo, números provenientes de controles passam através de túneis para a estrutura e são adicionados, subtraidos, dependendo do valor conectado no terminal seletor.

124 AC723_09/2010 Cristiane Martins Neste diagrama tem-se estrutura Case booleana. Controle booleano está ligado no terminal seletor. Se True soma os números (a direita), se False subtrai os números (a esquerda).

125 AC723_09/2010 Cristiane Martins Neste diagrama um exemplo de uma estrutura Case de um inteiro. Controle está ligado no terminal seletor. Se ‘’0’’ soma os números (a esquerda), se ‘’1’’ subtrai os números (a direita).

126 AC723_09/2010 Cristiane Martins Neste diagrama um exemplo de uma estrutura Case com uma string. Controle está ligado no terminal seletor. Se ‘’add’’ soma os números (a esquerda), se ‘’subtrat’’ subtrai os números (a direita).

127 AC723_09/2010 Cristiane Martins Para inicializar o shift register, conecte um valor fora do loop no terminal a esquerda. Caso vc não inicialize o registrador, o loop usará como valor inicial o último valor inserido no registrador quando o loop executou pela última vez, ou o default para este tipo de dado se o loop ainda não foi executado nenhuma vez. Solução: Sempre inicialize o Shift Register para assegurar comportamento consistente.

128 AC723_09/2010 Cristiane Martins Construa uma VI com um While Loop que compare dois números e mostre o valor de máximo até que o valor seja igual a 100.


Carregar ppt "AC723_09/2010 Cristiane Martins AC-723 – MÉTODOS EXPERIMENTAIS PARA TURBINA A GÁS – aulas 22-23 Prof.(a) Cristiane Martins Instituto Tecnológico de Aeronáutica."

Apresentações semelhantes


Anúncios Google