labview2
-
Upload
vinicios-ferraz -
Category
Documents
-
view
6 -
download
0
Transcript of labview2
![Page 1: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/1.jpg)
Introdução ao LabviewParte II
Prof. Dr.Valner J. Brusamarello – DELET – UFRGSwww.chasqueweb.ufrgs.br/~valner.brusamarello
![Page 2: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/2.jpg)
Acesso a arquivos de dados
• Acesso a arquivos - High Level: Estas funçoes fornecem um elevado grau de abstraçao ao usuário. Os arquivos são abertos e fechados automaticamente em uma operaçao transparente aousuário:
• Escreve em (spreadsheet file) arquivo tipo tabela - Converte um array 1D ou 2D de números com precisão simples para ums string de texto e escreve essa string em um novo arquivo ASCII ouadiciona a string em um arquivo existente.
• Lê de um arquivo (spreadsheet file) tipo tabela – Lê um específiconúmero de linhas ou colunas desde o início de um arquivo textonumérico e converte os dados para um array 2D de dados.
• Escreve em um arquivo de Medidas - Express VI que escrevedados em um arquivo de medidas (.lvm) de texto ou binário (tdm).
• Lê de um arquivo de medidas – Um Express VI que lê de um arquivo de medidas (.lvm) ou (tdm)
![Page 3: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/3.jpg)
Acesso a arquivos de dados: faça estes pequenos programas:
![Page 4: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/4.jpg)
Modelo genérico de acesso a arquivos
![Page 5: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/5.jpg)
Acesso a arquivos
• Use os I/O VIs de arquivos e funções para abrire fechar arquivos, ler e escrever, criar diretório(além de outras funçoes – pesquise com o help).
• Use os high-level I/O VIs de arquivos para fazeroperaçoões comuns como leitura e escrita de diferentes tipos de dados.
• Use low-level I/O VIs de arquivos e funçõesavançadas para controlar operações individuaisde arquivos.
![Page 6: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/6.jpg)
Formato spreadsheet
• Trata-se de arquivos ASCII com certa formatação.
• Usualmente utilizam TAB entre colunas e END OF LINE entre linhas
• O LABview possui Vis que executam essas funções ou concatenam strings
![Page 7: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/7.jpg)
Formato spreadsheet
• Write to Spreadsheet File – Pega array 1D ou 2D de dados numéricos, formata esses dados e escreve em um arquivo.
• Format Into File – Pega diferentes tipos de dados (string, numeric, Boolean) e escreve essa informação em um arquivo, utilizando um caminho (path). Estafunção pode incluir vários terminais de dados se necessário.
• Array to Spreadsheet String – é uma funçao que formata um array de dados em uma string que pode ser escrita em um arquivo de dados.
• Concatenate String – Função utilizada para criar estrings longos a partir de strings curtos pré-existentes.
![Page 8: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/8.jpg)
Utilizando os controles• Waveform charts: um único ponto por vez.
![Page 9: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/9.jpg)
Utilizando os controles
• Waveform graph: ‘vários pontos de uma única vez.
![Page 10: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/10.jpg)
Utilizando os controles
• Graphs também permitem a criaçao de gráficos de alta qualidade (paraartigos) com a funçao “export simplified image” . Botão direito no gráfico , selecione Data Operations»Export Simplified Image…
![Page 11: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/11.jpg)
Exercício 5
• Crie um VI que Create a VI que produzum seno com uma freqência específica.
• Mostre os dados em um Waveform Chart até ser parado pelo usuário.
• Utilize o Simulate Signal Express VI• Utilize o Tone Measurements Express
VI (Express»Signal Analysis»ToneMeasurements).
• Crie indicadores para a frequência e a amplitude
• Adicione controles de amplitude e frequência no simulador
![Page 12: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/12.jpg)
Exercício 6 - Escrita em arquivo Spreadsheet
• Selecione File I/O » Open/Create/Replace File. • Botão direito no terminal da funçao Open/Create/Replace File e selecione Create » Constant. Selecione
open or create. • Adicione um laço While loop da paleta Structures. • Coloque a funçao Write Text File function dentro do laço While. Botão direito no diagrama de blocos e
selecione File I/O » Write To Text File. • Ligue o terminal refnum da funçao Open/Create/Replace File ao terminal da funçao Write Text File.• Ligue o terminal error da funçao Open/Create/Replace File a entrada de erro da funçao Write Text File. • Coloque uma funçao Array to Spreadsheet String dentro do while loop e para a esquerda da funçao
Open/Create/Replace File function. Botão direito no diagrama de blocos e selecione String » Array to Spreadsheet String.
• Botão direito no terminal format strin da funçao Array to Spreadsheet e selecione Create » Constant e entre com “%0.4f” no formato da string.
• Coloque uma funçao Build Array. Botão direito no diagrama de blocos e selecione Array » Build Array.• Coloque um número aleatório dentro do laço While. Botão direito no diagrama de blocos e selecione
Numeric » Random Number (0-1). • Ligue o terminar error out da funçao Write Text File para uma saída do laço.• Botão direito no diagrama de blocos para selecionar Cluster & Variant » Unbundle By Name.• Ligue a saída error out da funçao Write Text File a funçao Unbundle By Name. • Abra a apaleta de funçao e selecione Boolean » Or. • Mude para o front panel e coloque um botão stop button. • No diagrama de blocos, ligue o elemento de status do error cluster a entrada x da funçao Or.• Ligue o botão sop a entrada y. • Ligue a saída da funçao Or ao terminal condicional da laço While.
![Page 13: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/13.jpg)
Exercício 6 - Escrita em arquivo Spreadsheet
• Adicione uma funçao Close File na direita do laçoWhile. File I/O »Close File.
• Ligue a saída refnum output tunnel ao terminal de entradarefnuminput da funçao Close File.
• Ligue a saída error output tunnel ao terminal error in da funçaoClose File.
• Rode o VI. Você verá a mensagem “Choose or enter path of file to open”, entre: “spreadsheet.xls”.
![Page 14: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/14.jpg)
• SEQÜÊNCIASFlat sequenceStacked sequence
• LAÇOSCaseWhileForVariáveis LocaisShift RegisterFeedback Nodes
Alguns recursos de programação
![Page 15: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/15.jpg)
Flat Sequence
Diagrama de Blocos»Functions Palette»Structures»Flat Sequence
Área selecionada
Flat sequencia criada
![Page 16: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/16.jpg)
Flat Sequence
• Consiste de um ou mais subdiagramas, ou frames, que são executadas sequencialmente.
• Clique com o botão direito na borda da estrutura para adicionar e deletar frames.
• Use a estrutura Flat Sequence para garantir que um subdiagrama execute antes ou depois de outro subdiagrama.
• Os frames em uma estrutura Flat Sequence são executados da esquerda para a direita e quando todos os valores ligados ao frame estão disponíveis.
• Os dados saem do frame quando a execuçao do mesmo estiver concluída.
![Page 17: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/17.jpg)
Stacked Sequence: Similar a flat sequence, porém “frames empilhados”
Diagrama de Blocos»Functions Palette»Structures»Stacked Sequence
Área selecionada Stacked sequence criada
![Page 18: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/18.jpg)
Stacked Sequence
Próximo quadro – Botão direito do mouse» Add Frame After
Quadro seguinte criado
![Page 19: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/19.jpg)
Case Structure
Diagrama de Blocos»Functions Palette»Structures»Case Structure
![Page 20: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/20.jpg)
Case Structure
Case Case BooleanoBooleano::
![Page 21: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/21.jpg)
Case Structure
Menu superior daestrutura alterna osestados.
Apenas um “Case” évisível por vez.
![Page 22: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/22.jpg)
Cases Booleanos e Numéricos
É necessário conectar todas as possibilidades do case se for utilizado um Tunnel
![Page 23: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/23.jpg)
Laço WHILE : implemente e analise com a ferramenta debugg o código abaixo
• O laço WHILE executa determinado código ENQUANTO uma condição for satisfeita.
• Analogia: WHILE em C X WHILE em G (Labview):
x = 0; while (x < 3) { x++; }
![Page 24: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/24.jpg)
Adicionando o WHILE
1. Selecione o Laço While
2. Arraste o Mouse para “desenhá-lo” em torno do código desejado
![Page 25: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/25.jpg)
Tipos de Condição do WHILE: Implemente os dois
códigos e analise-os com a ferramenta debugg
STOP IF TRUE
Condição de Parada
Contador De
Iterações
CONTINUE IF TRUE
Condição de Parada
![Page 26: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/26.jpg)
Exercício laço while: entenda o código e os blocos envolvidos
![Page 27: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/27.jpg)
Laço FOR
• O laço FOR executa um código um número N de vezes• Analogia: FOR em C X FOR em G (Labview)
for (x=0; x++; x<100){ CÓDIGO}
No LabVIEW a estrutura de repetição FOR funciona de maneira parecida, porém o código deve estar dentro de uma estrutura denominada subdiagrama (For Loop: executa N vezes o que está no interior do loop e i é o índice que varia de 0 até N-1).
![Page 28: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/28.jpg)
Adicionando o FOR
1. Selecione o Laço FOR
2. Arraste o Mouse para “desenhá-lo” em torno do código desejado
![Page 29: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/29.jpg)
Inserindo um Delay em um Laço: implemente o código e analise-o com a ferramenta debugg
*Delay em ms
![Page 30: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/30.jpg)
Cronometrando um Programa: implemente o código abaixo
Tempo = Tinicial - Tfinal
![Page 31: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/31.jpg)
Fórmula Node
• Executa as funções no interior do quadro• Principais funções:• abs(x), acos(x), acosh(x), ..., cos(x), sin(x), exp(x),
gamma(x), int(x), ln(x), log(x), log2(x), max(x,y), min(x,y), mod(x,y), pow(x,y), rand(), sqrt(x), entre outras.
• Principais operadores:• ** (exponenciação), +, -, ++, -- (pré-pós-incremento-
decremento), ! (negação lógica), ~ (complemento de bits), *, /, %, +, -
• >>, << (deslocamentos)• <, >, >=, <=, !=, == (comparações)• &, ^, |, &&, || (operações lógicas)
![Page 32: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/32.jpg)
Fórmula Node: implemente o VI abaixo
![Page 33: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/33.jpg)
Select: implemente o VI abaixo
• Select • Retorna o valor ligado
na entrada t ou f, dependendo do valor de s. Se s é V,afunçao retorna o valor de t. Se s é F, retornao valor de f.
![Page 34: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/34.jpg)
Exercício 7 - Loop while
• gerar um número aleatório entre 0 e 1 mediante a função Functions, Numeric, RandomNumber. O resultado serárepresentado mediante um gráfico no painel de controle: Control, Graph, Waveform Chart. A execução deve parar quando o usuário selecionar um botão On/Off.
![Page 35: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/35.jpg)
Exercício 7 - Loop while
![Page 36: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/36.jpg)
Exercício 7 - Loop while
A função tem como entrada um valor em milisegundos O valor máximo que se deseja selecionar e 10, portanto, o atraso máximo = 10 * 100ms = 1 segundo.
![Page 37: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/37.jpg)
Exercício 7 - Loop while
![Page 38: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/38.jpg)
Exercício 7 - Loop while
![Page 39: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/39.jpg)
Exercício 7 - Loop whilePara o sistema, situaremos a função dentro de um laço whileque será executado no mínimo 1x até que a condição determinada pelo botão On/Off seja falso (no caso utilizei um botão do tipo booleano). O número de decimais que aparece no visualizador pode ser modificado mediante a propriedade associada FORMAT & PRECISION da janela ou menu contextual.
![Page 40: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/40.jpg)
Exercício 8 – Repita o exercício 7 para um laço for
![Page 41: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/41.jpg)
Exercício 9
• Implemente um programa, onde uma chave determina se a operação entre dois números é adiçao (V) ou subtraçao (F)
![Page 42: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/42.jpg)
Exercício 10
Faça um programa em que você entra com um número de 0 a 1000. O código deve gerar aleatoriamente números variando de 0 a 1000. O software deve ter como saída, o tempo para que o número gerado coincida com o número digitado.
![Page 43: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/43.jpg)
Construindo arrays com loops
• Laços For e While podem indexar e acumular arrays. Isto é conhecidocomo auto-indexação.
• O ponto de indexaçao é chamado de túnel.
• O laço For, por default possui auto-indexação habilitada.
• O laço While, por default possuiauto-indexação desabilitada.
• Exemplos:• Habilite auto-indexação para coletar
valores no laço e construir o array. Todos os valores são colocados emarray ao sair do loop.
• Disabilite auto-indexação se vocêestiver interessado apenas no valor final.
![Page 44: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/44.jpg)
Criando um array
• Selecione um array em Controls»Modern»Array, Matrix, and Cluster palette, arrasteao front panel.
• Arraste um controle ou indicator • Você deve inserir um objeto no array antes de usá-lo no diagrama de blocos!
![Page 45: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/45.jpg)
Criando um array
• Para adicionar dimensões em um array, botão direito no index display e selecione Add Dimension do menu.
• 1D Array Single Element:
• 1D Array Multiple Elements:
• 2D Array Single Element:
• 2D Array Multiple Elements:
![Page 46: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/46.jpg)
Criando um array
![Page 47: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/47.jpg)
Time delay e loops temporizados
• O Time Delay Express VI atrasa a execução por um específico número de ms. O laço while não vai executar a iteração até que todas as tarefas no seu interior estiverem completas.
• Use o Loop temporizado quando você quiser desenvolver VIs com características dinâmicas de temporização, ou em situações diversas.
• Duplo-click no nó de entrada e selecione Configure Timed Loop para mostrar a tela de configuração.
• Wait Until Next ms Multiple: espera até que o valor de um timer (ms) se torne um determinadomúltiplo de um valor em ms.
• Use esta função para sincronizar atividades• Functions»Programming»Timing»Wait Until Next ms Multiple
![Page 48: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/48.jpg)
Exercício 11
• Abra o exercício 5 e salve-o com o nome de exercício 11 • Remova o laço While Loop (clique na borda do laço). Remova também o botão stop. • Substitua o waveform chart por um waveform graph (
Replace»Modern»Graph»Waveform Graph).• Clique com o botão direito no gráfico e selecione Visible Items»Cursor Legend. • Setar dois cursores (free cursor)• Mude o valor máximo da “Frequency In” no dial para 100.• Ajuste um valor default –botão direito - selecione Data Operations»Make Current
Value Default.• Rode o VI e observe o sinal no gráfico. Se você não ver o sinal selecione X
Scale»AutoScale X. • Mude a frequência do sinal. • Manualmente meça a frequência e a amplitude do sinal no gráfico usando
cursoreshe signal on the graph using cursors. Para fazer os cursores aparecerem natela, clique em um dos três botões na legenda. Uma vez que os cursores sãomostrados você pode arrastá-los e suas coordenadas aparecem nas legendas do cursor.
![Page 49: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/49.jpg)
Exercício 12
Construir uma matriz que armazenará 100 dados. Primeiro inserir no painel frontal um arrayControl, Array & Cluster/Array. Depois introduzir dentro de uma seqüência.
![Page 50: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/50.jpg)
Matrizes
![Page 51: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/51.jpg)
Matrizes
![Page 52: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/52.jpg)
Matrizes
![Page 53: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/53.jpg)
Mathscript Node
• Depois da versão 8, é possível combinar a linguagem do labview com outras ferramentas através de uma espécie de nó de scripts chamado de mathscript.
• O próprio LabVIEW possui um modo texto nativo: MathScript node, Formula node
• Ainda pode Comunicar-se com outros softwares: Xmath node, MATLAB script node, Maple* node, IDL* node
• Inclusive, a comunicação pode ser feita por VI Server: Mathematica* VIs, and Mathcad* VIs
• No LabVIEW 8, pode-se combinar a programação gráfica do LabVIEW com uma linguagem textual orientada para aplicações matemáticas, geralmentecompatível com a linguagem dos scripts m-files.
![Page 54: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/54.jpg)
Mathscript Node
• Implemente o programa abaixo• Explore o bloco com o help• Programming»Structures• Para adicionar variáveis, botão direito e escolha Add Input ou Add Output.• Nomes de variáveis como usadas na formula. • Cada linha deve terminar com um ponto-vírgula.• Pode-se importar ou exporta m-files clicando no nó.
![Page 55: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/55.jpg)
Mathscript window
• A MathScript Window é um ambiente interativo onde as equações podem ser prototipadas e os cálculos podemser feitos
• A MathScript Window e o MathScript Node utilizam a mesma sintaxe e variáveis globais.
• O painel de dados possibilita uma maneira rápida de analisar as variáveis como números, graficamente, ouaté ecutá-los (com a placa de som)
• Acesse o mathscript dentro do labview no menu tools.• Digite help na janela de comando para uma introduçao.• Tema de casa: explore essa ferramenta.
![Page 56: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/56.jpg)
Mathscript window
![Page 57: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/57.jpg)
Rode o seguinte scripti_menos=0;R=1;L=0.001;E=1delta_t=0.00001;i_array = [];for t = 0 : 0.1: 50,%for t = 0 : 50
i_mais=i_menos*(1-(R/L)*delta_t)+E*delta_t/L;
i_array = [i_array; i_mais];i_menos=i_mais;
endt = 0 : 0.1 : 50;figure;plot(t, i_array, 'r-');xlabel('time');ylabel('corrente (A)')
![Page 58: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/58.jpg)
Exercício 13
• Create um VI que utiliza o MathScript Node para alterar um sinal simulado e mostre em um gráfico.
• Use o MathScript Window para ver e alterar os dados e então carregue novamente o script criadono MathScript Node.
• Abra o arquivo do exercício 11 onde foi feita uma análise manual.• Salve o VI com um novo nome – exercicio11.vi.• No diagrama de blocos delete a conexão do sinal simulado a Waveform Graph.• Coloque um MathScript Node (Programming»Structures»MathScript Node).• Botão direito na borda esquerda do MathScript Node - selecione Add Input. De um nome a essa
entrada - In.• Botão direito na borda direita do MathScript Node e selecione Add Output. Dê um nome a essa
saída -Out.• Converta o Dynamic Data Type da saída do VI Simulate Signals para 1D Array de Scalars para
entrar no MathScript Node. (Express»Signal Manipulation»Convert from Dynamic Data). • Ligue a saída do seno do VI do sinal simulado para a entrada do VI Convert from Dynamic Data.• Ligue a saída do array do VI Convert from Dynamic Data VI na entrada “In” do MathScript Node. • Para usar os dados do Simulate Signal VI no MathScript Window é necessário declarar a variável
de entrada como global. Dentro do MathScript Node digite “global In;”.• Retorne ao front panel e aumente a frequencia para um valor entre 50 e 100. Rode o VI.• Abra o MathScript Window (Tools»MathScript Window…).• No MathScript Window, na janela de comandos digite “global In”e pressione “Enter”. Isso
permitirá ver os dados passados a variável In no MathScript Node.
![Page 59: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/59.jpg)
Exercício 13
![Page 60: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/60.jpg)
Exercício 13
Use a paleta do gráfico parafazer zoom nos dados.
Botão direito no “Cursor 1” e selecione Bring to Center.
Explore algumas funçoesdo gráfico.
![Page 61: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/61.jpg)
Exercício 13• Multiplique os dados por uma função exponencial decrescente:• a. Crie um array de 100 elementos de dados que constituem uma
rampa indo de 0.01 a 5 digitando “Array = [0.01:0.05:5];”• Na janela de comando pressione Enter.• b. Crie um array contendo uma exponencial decrescente. Digite “Exp
= 5*exp(-Array);” e pressione Enter.• c. Agora multiplique o Exp e o array In, elemento por elemento
digitando “Out = In.*Exp;” e pressione Enter.• d. Veja no gráfico a variável “Out”.• Vá até a aba History e use Ctrl-click para escolher os 4 comandos que você
entrou. Copie estes comandos usando <Ctrl-C>.• Na aba Script tab, faça o paste dos comandos no Script Editor usando <Ctrl-
V>.• Salve seu script clicando “Save” na base da janela. Salve como “myscript.txt”• Feche a MathScript Window.• Retorne ao diagrama de blocos e carregue o script que você acabou de
digitarcom um clique do bo^~ao direito na borda do MathScript Node e selecione selecting Import… Navegue até myscript.txt, selecione-o , e clique “OK”.
• Botão direito na variável “Out” e selecione Data Type»1D-Array»DBL 1D. O tipo da saída de dados deve ser ajustada manualmente no MathScript Node.
• Ligue a variável “Out” ao Waveform Graph e Retorne ao front panel e rode o VI.
•
![Page 62: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/62.jpg)
Exercício 13
![Page 63: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/63.jpg)
Extras:
• Array exercise.vi:Gera um array e controla o acesso dos seus dados colocando-os em um indicador
![Page 64: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/64.jpg)
Extras• Calculator.vi: um case para selecionar uma de
quatro operaçoes, mostrando 1 resultado.
![Page 65: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/65.jpg)
Extract 2D array
• Compõe e extrai um array 2D:
![Page 66: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/66.jpg)
Leitura de arquivo
• Rode o Vi e procure entendê-lo
![Page 67: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/67.jpg)
Escrita de arquivo
• Rode o Vi e procure entendê-lo
![Page 68: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/68.jpg)
Extras
• Manipulação de arquivo texto. Entenda a funçaodo VI ao lado.
![Page 69: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/69.jpg)
Extras
• Substitua o bloco DAQ por um sinal simulado somado a um sinal aleatório. Implemente e entenda o VI.
![Page 70: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/70.jpg)
Extras
• Implemente e entenda o VI a seguir
![Page 71: labview2](https://reader034.fdocumentos.com/reader034/viewer/2022051517/55cf9985550346d0339dcc62/html5/thumbnails/71.jpg)
Extras• Datalogger – escrita e leitura. Substitua o bloco DAQ por um simulador e
entenda o VI