Se famialirizar com o ambiente LabVIEW e com execu es de fluxo de dados Habilidade para usar o LabVIEW para resolver problemas Conceitos do LabVIEW
Adquirir, salvar e carregar dados Localizar e usar as fun es math e complex analysis Trabalhar com diferentes tipos de dados, como arrays e clusters Demonstrar e imprimir resultados
Esta uma lista objetivos deste curso. Esta a lista de dos objetivos deste curso. curso perpara o aluno criar fazer as seguintes coisas: O Use LabVIEW para para aplicaes. Entender o painel para criar aplicaes. Usar o LabVIEW frontal, diagrama de blocos, e cones e conectores. Use built-in LabVIEW functions. Entender o painel frontal, diagrama de blocos, cones o painel de coneces. Create and save programs indo LabVIEW. you can use them as subroutines. Usar as funes embutidas LabVIEW so Create applications that use plug-in DAQ devices. em sub-rotinas. Criar e salvar programas no LabVIEW para usa-los
This course does not que utilizam dispositivos DAQ. Criar aplicaes describe any of the following: Programming theory Este curso no descreve nenhum dos tens a seguir: Every built-in LabVIEW function or object Teoria de programao Analog-to-digital (A/D) theory do LabVIEW Cada objeto ou funo embutida
NI does provide free reference materials on the above topics on ni.com. Teoria de Analgico-para-Digital (A/D) The LabVIEW Help is alsode referncia gratuito sobre os assuntos acima no site ni.com. A NI providencia material very helpful: LabVIEWHelpSearch the bastante til: O Help do LabVIEW tambm LabVIEW Help LabVIEWHelpSearch the LabVIEW Help
ni.com
Instrumentao Virtual H mais de 25 anos, a National Instruments tem revolucionado o modo como engenheiros e cientistas na industria, e em gros acadmicos e governamentais encaram processos de medidas e automao. Alavancando PCs e tecnologia comercial, a instrumentao virtual aumenta a produtividade e reduz custos de teste, controle, e desenvolvimento de aplicaes atravs de um software fcil de se integrar como o NI LabVIEW, e hardware de controle e medio modular para PXI,PCI,USB e Ethernet. Com a instrumentao virtual, engenheiros usam um software de programao grca para criar solues personalizadas para cobrir suas necessidades especcas, que uma tima alternativa para a instrumentao tradicional. Por exemplo, durante testes, medidas e controle, engenheiros tm usado a instrumentao virtual para reduzir o nmero de equipamentos de teste automatizados e aumentaram a produo em at 10 vezes com uma frao do custo de uma soluo de instrumentao tradicional. No ltimo ano 25.000 companias em 90 paises investiram em mais de 6 milhes de canais de instrumentao virtual da National Instruments.
O LabVIEW da National Instruments um software de liderana-industrial para o desenvolvimento de testes, medies e controle de sistemas. Desde sua introduo em 1986, engenheiros e cientistas ao redor do mundo que conaram no NI LabVIEW para desenvolver projetos em todas as etapas do ciclo de produo tm aumentado sua qualidade de produto, diminuido o tempo at o mercado, e aumentado a ecincia de engenharia e manufatura. Usando o ambiente integrado do LabVIEW para interfacear com sinais reais, analisar dados e extrair informaes importantes e compartilhar resultados, voc pode aumentar produtividade atravs de toda a sua organizao. Como o LabVIEW tem uma linguagem de programao exvel combinado com ferramentas embutidas desenvolvidas especialmente para testes, medidas, e controle, voc pode criar aplicaes que variam de um simples monitoramento de temperatura at uma simulao sosticada e sistemas de controle. Independente do seu projeto, o LabVIEW possui a ferramenta necessria para que voc tenha sucesso rapidamente.
ni.com
Aplicaes de Instrumentos Virtuais Instrumentao Virtual aplicvel em diversos ambientes, desde design at prototipagem e implementao. A plataforma LabVIEW traz ferramentas especcas para resolver aplicaes variando de desenvolvimento algoritmos de processamento de sinais at fazer medidas de voltagem e pode extrair informao de diversas plataformas do seu desktop ou at dispositivos Embarcados com um paradigma grco que potente e intuitivo Com a verso 8, o LabVIEW escala de design e implementao no PC para diversos alvos Embarcados, de prottipos robustos para sistemas Embarcados em chips. O LabVIEW agiliza o desenvolvimento de sistemas com uma nica plataforma de desenvolvimento grco. Assim,o LabVIEW garante um gerenciamento melhor de sistemas distribudos em rede, pois na medida que os alvos para o LabVIEW se tornam mais variados e Embarcados, voc precisar distribuir e comunica, entre vrias pedaos de cdigo LabVIEW em seu sistema.
Plataformas de Hardware integrado Um instrumento virtual consiste em um computador de padro industrial ou estao de trabalho equipado com um software de aplicao potente, hardware de custo-efetivo como placas plug-in, e drivers de software, que em conjunto fazem a funo de instrumentos tradicionais Instrumentos Virtuais representam uma mudana fundamental de instrumentao tradicional centrada em hardware para sistemas centrados em software que exploram a potencia computacional, display, e capacidade de conectividade de computadores populares e estaes de trabalho. Mesmo o PC e tecnologia de circuitos integrados terem passado por avanos signicativos nas ltimas duas dcadas,o software realmente oferece a exibilidade para crescer nesta fundao de hardware e criar instrumentos virtuais, trazendo maneiras melhores para inovar e reduzir custos signicantemente. Com instrumentos virtuais, engenheiros e cientistas constroem sistemas de medidas e automao que satisfazem exatamente suas necessidades (denido pelo usurio) em vez de ser limitado por instrumentos tradicionais de funo-xa (denido pelo vendedor).
ni.com
Este curso de LabVIEW foi desenvolvido para ser utilizado por pessoas com ou sem acesso hardware da National Instruments. Cada exerccio dividido em tres partes (tracks, A, B, e C): Track A foi desenvolvido para ser usado com hardware suportado pelo DAQmx da National Instruments. Isto inclui a maioria de dispositivos de acquisio de dados do tipo USB, PCI, PXI com entradas analgicas. Alguns condicionamentos de sinais e excitaes requerem o uso de um microfone com o dispositivo DAQ (alguns sensores, como microfones, requerem potncia externa para funcionar (exitao)). Track B foi desenvolvido para ser usado sem hardware. O hardware pode ser simulado com o DAQmx Driver verso 7.5 ou mais nova. Um dispositivoDAQmx simulado uma rplica do dispositivo criado usando a opo NI-DAQmx Simulated Device no menu Create New do MAX para o proposito de operar uma funo ou programa sem o hardware. Um dispositivo simulado age de forma parecida a dispositivo verdadeiro. Seus drivers so carregados, e o programa utilizando-o vericado completamentei Track C foi desenvolvido para ser usado com uma placa de som e um microfone padro. O LabVIEW inclui VIs simples para trabalhar com entradas e sadas analgicas usando a placa de som que vem embutida na maioria dos computadores. (Isto muito conveniente uma vez que na maioria dos laptops a placa de som e o microfone j vem Embarcados).
ni.com
Track A NI Data Acqusion com Microfone: USB-6009 com Microphone & LED Qty
1 1 1 1 1
Part Number
779321-22 270-092
Description
Low-cost USB DAQ Electret Microphone 100 Ohm Resistor 220 Ohm Resistor Light Emitting Diode (LED)
Supplier
National Instruments RadioShack RadioShack RadioShack RadioShack
276-307
O seguinte uma esquemtica desenhada com Multisim, uma esquemtica SPICE altamente usada e ferramenta de simulao. Visite http://www.electronicsworkbench.com para mais informaes.
Track A Aquisio Simulada de dados NI: Software NI-DAQ verso 8.0 ou mais novo Track C Placa de Som: Placa de Som eMicrofone
Hardware Sugerido:
Qty
1
Part Number
Description
Supplier
Standard Plug-in PC RadioShack Microphone* * Laptops normalmente tm um microfone embutido (um microfone externo no necessrio)
National Instruments Corporation National Instruments Corporation 9 9 Introduction to LabVIEW Hands-On Introduction to LabVIEW Hands-On
Que dispositivo devo usar? H diversos tipos de dispositivos de acquisio de dados e controle disponiveis no mercado. Alguns esto destacados acima. Escolha normalmente cai entre taxa amostragem (samples/segundo), resoluo (bits), nmero de canais, e taxa de transferecia de dados (normalmente limitado por tipo de barramento: USB, PCI, PXI, etc.). Dispositivos multifuncionais podem ser usados em uma variedade de aplicaes. USB-6008 & USB-6009 DAQ USB de baixo-custo O USB-6009 da National Instruments traz funes bsicas de acquisio de dados para aplicaes como armazenamento de dados, medidas portateis, experimentos em laboratrios acadmicos. O NI USB-6008 e NI USB-6009 so ideis para estudantes. Crie suas proprieas aplicaes de medidas programando o NI USB-6009 com o LabVIEW e o NI-DAQmx driver software para Windows. Usurios de Mac OS X e Linux podem baixer e usar oNI-DAQmx Base driver.
NI USB-6009 Specications: Oito entradas analgicas de 14-bit 12 linhas d E/S digital 2 sadas analogicas 1 contador
http://www.ni.com/daq/
Introduction to LabVIEW Hands-On 10 ni.com
O proximo nvel de software que trataremos chama-se Measurement & Automation Explorer (MAX). MAX uma interface de software que lhe proporciona acesso a todos os seus dispositvos DAQ, GPIB, IMAQ, IVI, Motion, VISA, e VXI da National Instruments. O atalho para o MAX ser colocado na sua rea de trabalho aps a instalao. Uma foto do cone est acima. MAX usado principalmente para congurar e testar seu hardware da National Instruments, mas ele oferece outras funes como checar se voc tm a ltima verso do NI-DAQ instalado. Quando voc executa uma aplicao usando o NI-DAQmx, o software l as conguraes do MAX e determina os dispositivos que voc congurou. Assim, voc deve congurar o DAQ antes com o MAX. A funcionalidade do MAX divido em sete partes: Data Neighborhood Devices and Interfaces IVI Instruments Scales Historical Data Software VI Logger Tasks Para este curso, focaremos no Data Neighborhood, Devices and Interfaces, Scales, e Software. Passaremos por cada uma destas categorias e aprenderemos sobre as funes que cada uma oferece.
11
12
ni.com
(Fim do Exerccio)
13
Exerccio 1.1 Congurando seu dispositivo (Track B) Neste exerccio voc usar o Measurement and Automation Explorer (MAX) para congurar um dispositivo DAQ simulado. 1. Abra o MAX clicando duas vezes no cone no desktop ou selecionando StartProgramsNational InstrumentsMeasurement & Automation. 2. Expanda a seo Devices and Interfaces para ver os dispositivos National Instruments que esto instalados. O MAX mostra hardware e software da National Instruments que esta instalado em seu computador. O nmero do dispositivo aparece entre aspas seguido do nome. Os Vis de acquisio de dados usam o nmero do disposito para determina que dispositivo realiza a operao DAQ.
3. Crie um dispositivo DAQ simulado para ser usado mais tarde neste curso. Dispositivos simulados so ferramentas potentes para o desenvolvimento sem ter o hardware sicamente instalado no seu computador. Clique com o boto direito do mouse em Devices and Interfaces e selecione Create NewNI-DAQmx Simulated Device. Clique Finish. 4. Expanda a seio M Series DAQ. Selecione o PCI-6220 ou qualquer outro dispositivo PCI e clique OK. 5. Os dispositivos da pasta NI-DAQmx sero expandidos e voc ver uma nova entrada para o PCI-6220: Dev1. Voc criou um dispositivo simulado! Realize um self-test no dispositivoclicando com o boto direito do mouse na arvore de congurao e selecionando Self-Test ou clicando em Self-Test no topo da janela. Isto testa os recursos do sistema atribuidos a este dispositivo. O dispositivo deve passar no teste se ee j estiver congurado. Cheque a pinagem de seu dispositivo. Clique com o boto direito do mouse no dispositivo na rvore de congurao e selecione Device Pinouts ou clique em Device Pinouts que se encontra no topo central da janela. Abra o painel de testes. Clique com o boto direito do mouse na rvore de congurao do dispositivo e selecione Test Panels ou clique em Test Panels localizado no topo central da janela.O painel de testes permite que voc teste as funes de seu dispositivo, entrada/sada analgica, entrada/sada digital, e contadores sem fazer nenhuma programao. Na aba Analog Input do painel de testes, mude o Mode para Continuous. Clique Start e observe o signal que plotado. Clique Stop quand voc tiver terminado.
14
ni.com
10. Na aba Digital I/O veja que inicialmente todas as portas esto conguradas para entrada. Observe os LEDs debaixo do Select State que representam o estado das linhas de entrada. Clique no boto All Output em Select Direction. Veja que agora voc tem booleanos debaixo do Select State para especicar o estado das diferentes linhas. Clique Close para fecher o painel de testes. 11. Feche o MAX.
(Fim do Exerccio)
15
Exerccio 1.1 Setting Up Your Device (Track C) Neste exerccio, voc ir usar as utilidades do Windows para vericar sua placa de som e usa-la com um microfone. 1. Prepare seu microfone para uso. D um clique duplo no controle de volume e abra a janela de congurao. A congurao de som tambm pode ser encontrada no painel de controle do Windows: Start MenuControl PanelSounds and Audio DevicesAdvanced. 2. Se voc no ver uma seo para o microfone v para OptionsPropertiesRecording e coloque um cheque na caixa Microphone. Isto mostrar o microfone no volume de controle. Clique OK. 3. Des-selecione a caixa Mute se ela ainda estiver selecionada. Verique que o volume esta em uma altura desejvel.
Uncheck Mute
4. Feche a janela de congurao do volume.
5. Abra o gravador de som selecionando StartProgramsAccessoriesEntertainmentSound Recorder.
6. Clique no boto de gravao e fale em seu microfone. Veja que o sinal do som mostrado no Sound Recorder.
7. Clique stop e fehce o Sound Recorder sem salvar mudanas quando voc tiver terminado.
(Fim do Exerccio)
16
ni.com
LabVIEW LabVIEW uma linguagem de programao grca que usa cones em vez de linhas de texto para criar aplicaes, Em contraste com linguagens de programao baseadas em texto, onde instrues determinam a execuo do programa, o LabVIEW usa programao de dataow, onde of uxo de dados determina a rdem de execuo. Voc pode adquirir diversos toolkits adicionais para desenvolver aplicaes especializadas. Todos os toolkites se integram perfeitamente com o LabVIEW. Veja o site da National Instruments para mais informaes sobre toolkits. LabVIEW tambm traz vrios wizards para ajudar voc a congurar seu dispositivo DAQ e instrumentos baseados em computadores e criar aplicaes. LabVIEW Example Finder O LabVIEW traz centenas de exemplos de VIs que voc pode usar e incorporar em VIs que voc criar. Alem de exemplos de VIs que vm com o LabVIEW, voc pode acessar centenas de outros exemplos no NI Developer Zone (zone.ni.com). Voc pode modicar um exemplo para se ajustar sua aplicao, ou copiar e colar um ou mais exemplos na VI que voc criar.
17
Os programas do LabVIEW so chamados de virtual instruments (VIs). Controles so entradas e indicadores so sadas. Cada VI contm trs partes principais: Painel Frontal Onde o usurio interage com o VI. Diagrama de Blocos O cdigo que controla o programa. Icones/Conectores Meio de conexo entre VIs. No LabVIEW, voc pode construir uma interface de usurio usando um conjunto de ferramentas e objetos. A interface de usurio conhecida como o painel frontal. Voc pode acrescentar cdigo usando representaes grcas de funes para controlar os objetos do painel frontal. O diagrama de blocos contm este cdigo. De certa forma o digrama de blocos se parece que um uxograma. Usurios interagem com o Painel Frontal quando o programa est em execuo. Usurios podem contrlar o programa, mundar entradas, e ver os dados serem atualizados em tempo real. Controles so usados para entradas para, ajustar uma barra de controle para congurar um valor para um alarme, ligar ou desligar um interruptor, ou parar o programa. Indicadores so sadas. Termometros, luzes, e outros indicadores mostram os valores de sada do programa. Estes podem incluir dados, estados do programa, e outras informaes. Cada controle ou indicador do painel frontal tem um terminal correspondente no diagrama de blocos. Quando uma VI executada, valores dos controles atravessam o diagrama de blocos, onde eles so usados em funes e o resultado passado para outras funes atravs de os.
18
ni.com
Use o palete Controls para colocar controles e indicadores no painel frontal. O palete Controls est disponvel somente no painel frontal. Para ver este palete selecione WindowShow Controls Palette. Voc pode visualizar o palete Controls clicando com o boto direito do mouse em uma rea aberta do painel frontal. Fixe o palete Controls clicando no boto localizado no canto superior esquerdo do do palete.
19
Use o palete Functions para criar seus diagrama de blocos. O palete Functions esta disponvel somente no diagrama de blocos. Para ver o o palete, selecione WindowShow Functions Palette. Voc pode visualizar o palete Functions clicando com o boto direito do mouse em uma rea aberta do diagrama de blocos. Fixe o palete e Functions clicando no boto localizado no canto superiro esquerdo do palete.
20
ni.com
Se a ferramenta de seleo automtica est ligada e voc passa seu cursor sobre objetos do painel frontal e diagrama de blocos, o LabVIEW automaticamente seleciona a ferramenta correspondente do palete Tools. Alterne entre seleo automatica selecionado Automatic Tool Selection no palete Tools. Use a Operating tool para mudar valores de controles ou selecionar texto dentro de um controle. Use a Positioning tool para selecionar mover ou redimensionar objetos. A ferramenta de posicionamento muda de formato na quina de um objeto redimensionvel. Use a Labeling tool para editar textos e criar rtulos livres. A ferramenta de edio de texto muda para um cursor quando voc tem um rtulo livre. Use a Wiring tool para ligar objetos no diagrama de blocos. Outras ferramentas importantes:
21
Clique no boto Run para executar o VI. Enquanto o VI executa, o boto Run aparece como uma seta preta se o VI for um VI top-level, signicando que ele no um subVI. Clique no boto Continuous Run para executar o VI at que voc aborte ou pause o mesmo. Voc pode clicar no boto novamente para desabilitar a execuo continua. Enquanto o VI estiver em execuo, O boto Abort Execution aparece. Clique neste boto para parar o VI imediatamente. Nota: Evite usar o boto Abort Execution para parar um VI. Ou deixe o vi completar seu uxo de dados ou desenvolva um mtodo para parar o VI atravs do programa. Assim, o VI esta em um estado conhecido. Por exemplo, cloque um boto no painel frontal que para o VI quando este for acionado. Clique no boto Pause button para pausar um VI em execuo. Quando voc clica no boto Pause, oLabVIEW destaca a rea do diagrama de blocos onde foi parada a execuo. Clique novamente em Pause para continuar com a execuo do VI. Selecione o Text Settings e mude as conguraes da fonte do VI, incluindo tamanho, estilo e cor. Selecione Align Objects para alinhar objetos ao longo de eixos, incluindo vertical, topo, esquerdo, etc.. Selecione Distribute Objects para espaar objetos homogeneamente incluindo espaos, compreenso,etc. Selecione Resize Objects para alterar e largura de objetos no painel frontal
22
ni.com
Selecione o Reorder quando voc tem objetos que cam sobrepostos e voce quer denir qual ca na frente. Selecione um destes objetos com a ferramenta de posicionamento e selecioneMove Forward, Move Backward, Move To Front, ou Move To Back. Clique no boto Highlight Execution para ver o uxo de dados no diagrama de blocos. Clique no boto novamente para desabilitar esta execuo. Clique no boto Retain Wire Values para salvar o valor do o em cada ponto no uxo da execuo para que quando voc colocar um probe no o,ele imediatamente mostrar o valor mais recente que passou pelo o. Clique no boto Step Into para dar um nico passo dentro do loop, subVI, etc. Singlestepping (execuo passo a passo) de um VI faz uma execuo n a n. Cada n pisca quando este estiver pronto para ser executado. Clique no boto Step Over para passar por cima de um loop, SubVI, etc. Quando voc utiliza o step over, voc executa o n sem a execuo passo a passo daquele tem. Clique no boto Step Out para sair de um loop, SubVI, etc. Clicando no step out do n, voc completa uma execuo passo a passo do n e passa para o prximo.
Ferramentas Adicionais:
23
Quando voc cria um objeto no Painel Frontal, um terminal ser criado no Diagrama de Blocos. Estes terminais lhe do acesso aos objetos do Painel Frontal a partir do cdigo do Diagrama de Blocos. Cada terminal contm informaes teis sobre os objetos correspondentes do Painel Frontal. Por exemplo, a cor e smbolo trazem informao a respeito do tipo de dado. Por exemplo: O tipo de dado dinmico um tipo de dado polimrco representado por terminais azul marinho. Terminais booleanaos so verdes com letras do tipo TF. Em geral, termianis azuis devem ser ligados a terminais da mesma azuis, verde com verde, etc. Isto no uma regra que vlida sempre; o LabVIEW que um usurio ligue um terminal azul (dado dinmico) a um terminal laranja (valor fracional), por exemplo. Na maioria dos casos, porm, porcure combinar as cores. Controles em uma seta no lado direito e tm uma borda espessa. Indicadores tm uma seta no lado esquedo e uma borda na. Regras de lgica se aplicam quando fazemos ligaes com o LabVIEW: Cada o tem uma (mas no necessariamente uma) fonte (ou controle), e cada o pode ter multiplos destinos (ou indicadores)
24
ni.com
O LabVIEW segue um modelo de dataow para executar VIs. Um n no diagrama de blocos executado quando todas as suas entradas esto disponveis. Quando um n completa a execuo, ele fornece dados a seus terminais de sada e passa os dados de sada para o prximo n no caminho do dataow. Visual Basic, C++, JAVA, e a maioria das linguagens de programao baseadas em texto seguem um modelo de controle de uxo para executar programas. Em controle de uxo, a rdem sequencial dos elementos do programa determina a rdem de execuo do mesmo. Considere o diagrama de blocos acima. Ele soma dois nmeros e em seguida multiplica o resultado da soma por 2. Neste caso, o diagrama de blocos executa da esquerda para a direita, no por que os objetos foram colocados nesta rdem, mas sim por que uma das entradas da funo de multiplicao no vlida enquanto a funo soma no tenha terminado e passado os dados para a funo multiplicao. Lembre que um n executa somente quando h dados em todos os terminais, e ele fornece dados para todos seus terminais de sada somente no nal da execuo. Em um segundo pedao de cdigo, o VI Simulate Signal Express recebe dados de controles e passa estes resultados para o Grco. Voc pode considerar que os cdigos soma-multiplicao e simulador de sinal co-existem paralelamente em um mesmo diagrama de blocos. Isto signica que ambos comearam a execuo ao mesmo tempo e funcionaro independentemente um do outro. Se o outro computador que estiver executando este cdigo tivesse multiplos processadores, estes dois pedaos de cdigo poderiam ser executaos separadamente (cada um em um processador), sem a necessidade de programao adicional.
25
Quando seu VI no executvel, uma seta quebrada mostrada no boto Run. Encontrando Erros: Para listar os erros, clique na seta quebrada. Para localizar os elementos defeituosos, clique na mensagem de erros. Execution Highlighting: Anima o digarama e rastrea o uxo de dados, permitindo que voc veja valores intermedirios. Clique na lmpada na barra de ferramentas. Probe: Usado para ver valores em arrays e clusters. Clique em os com a ferramenta Probe ou clique com o boto direito no o para colocar um probe. Retenha valores dos os: Usado em conjunto com probes para ver os valores da ltima interao do programa. Breakpoint: Coloca pausas em diferentes lugares do diagrama. Clique em os ou objetos com a ferramenta Breakpoint para colocar breakpoints.
26
ni.com
Exerccio 1.2 Adquirindo um sinal com DAQ (Track A) Nota: Antes de comear este exerccio, copie a pasta Exerccios and Solutions para a rea de trabalho do seu computador. Complete os seguintes passos para criar uma VI que adquiri dados continuamente de seu dispositivo DAQ. 1. Abra o LabVIEW. 2. Na janela Getting Started, clique em New ou no link VI from Template para mostrar a caixa de dilogo New. 3. Abra um template de aquisio de dados. Da lista Create New, selecione VIFrom TemplateDAQData Acquisition with NI-DAQmx.vi e clique OK. 4. Abra o diagrama de blocos clicando nele ou selecionando WindowShow Diagrama de Blocos. Leia as instrues que esto escritas l sobre como completar o programa. 5. D um clique duplo no DAQ Assistant para abrir o conguration wizard. 6. Congure uma operao de entrada analgica. a. Escolha Analog InputVoltage. b. Escolha Dev1 (USB-6009)ai0 para adquirir dados de no canal 0 de entrada analgica e clique em Finish. c. Na proxima janela voc pode denir parmetros de sua operao de entrada analgica. Escolha um intervalo de entrada que funcione bem com seu microfone, no tab setting, entre com 2 Volts para o mximo e 2 Volts para o mnimo. No tab task timing, escolha Continuous para o modo de acquisio e entre 10000 em rate. Deixe as demais opes com seus valores padres. Clique em OK para sair do wizard. 7. Coloque o VI Filter Express direiya de seus DAQ Assistant no diagrama de blocos. Do palete de funes selecione, ExpressSignal AnalysisFilter e cloque este VI no diagrama de blocos dentre de um loop while. Quando voc abrir o palete de funes, aberte o pequeno boto no canto esquerdo superior do palete. Isto ir prender o palete para que ele no disaparea. Este passo ser omitido nos demais exerccios mas deve ser repetido. Na janela de congurao dentro de Filtering Type, selecione Highpass. Dentro de Cutoff Frequency, use o valor 300 Hz. Clique OK.
27
8. Make the following connections on the Diagrama de Blocos by hovering your mouse over the terminal so that it becomes the wiring tool and cliqueing once on each of the terminals you wish to connect: a. Connect the Data output terminal of the DAQ Assistant VI to the Signal input of the Filter VI. b. Create a graph indicator for the ltered signal by Clique com o boto direito do mouseing on the Filtered Signal output terminal and choose CreateGraph Indicator. 9. Return to the Painel Frontal by selecting WindowShow Painel Frontal or by pressing <Ctrl+E>. 10. Run your program by cliqueing the run button. Hum or whistle into the microphone to observe the changing voltage on the graph. 11. Clique stop once you are nished. 12. Save the VI as Exerccio 2 Acquire.vi in your Exerccios folder and close it. Nota: A soluo deste exerccio est no nal deste manual
Tip: You can place the DAQ Assistant on your Diagrama de Blocos from the Functions Palette. Clique com o boto direito do mouse the Diagrama de Blocos to open the Functions Palette and go to ExpressInput to nd it.
(Fim do Exerccio)
28
ni.com
Exerccio 1.2 Adquirindo um sinal com DAQ (Track B) Nota: Antes de comear este exerccio, copie a pasta Exerccios and Solutions para a rea de trabalho do seu computador. Complete os seguintes passos para criar uma VI que adquiri dados continuamente de seu dispositivo DAQ. 1. Abra o LabVIEW. 2. Na janela Getting Started, clique em New ou no link VI from Template para mostrar a caixa de dilogo New. . 3. Abra um template de aquisio de dados. Da lista Creat New, selecione VIFrom TemplateDAQData Acquisition with NI-DAQmx.vi e clique OK. 4. Abra o diagrama de blocos clicando nele ou selecionando WindowShow Diagrama de Blocos. Leia as instrues que esto escritas l sobre como completar o programa. 5 . D um clique duplo no DAQ Assistant para abrir o conguration wizard 6. Congure uma operao de entrada analgica. a. Escolha Analog InputVoltage. b. Escolha Dev1 (PCI-6220)ai0 para adquirir dados no canal 0 de entrada analgica e clique em Finish. c. Na prxima janela voc ir denir os parmetros de sua operao de entrada analgica. No tab task timing, escolha Continuous para o modo de acquisio, entre com 1000 para o nmero de samples a serem lidos, e 10000 para o rate. Deixe as demais opes com seus valores padres.Clique OK para sair do wizard. 7. No diagrama de blocos, clique com o boto direito na seta preta para a direita para onde esta escrito data. Escolha CreateGraph Indicator do menu do boto direito. 8. Retorne ao painel frontal selecionando WindowShow Painel Frontal ou apertando <Ctrl +E>. 9. Execute seu programa clicando no boo Run. Observe a onda senoidal simulada no grco. 10. Clique em stop quando voc terminar. 11. Salve o VI como Exerccio 2 Acquire.vi na pasta de Exerccios. Feche o VI. Notas: A soluo deste exerccio est impressa no nal deste manual. Voc pode colocar o DAQ Assistant em seu diagrama de blocos apartir do palete de funes. Clique com o boto direito do mouse no diagrama de blocos e abra o palete de funes e entre em ExpressInput para encontrar o DAQ Assistant. Quando voc abrir o palete de funes, aberte o pequeno boto no canto esquerdo superior do palete. Isto ir prender o palete para que ele no disaparea. Este passo ser omitido nos demais exerccios mas deve ser repetido.
29
(Fim do Exerccio)
Introduction to LabVIEW Hands-On 30 ni.com
Exerccio 1.2 Adquirindo um sinal com DAQ (Track C) Nota: Antes de comear este exerccio, copie a pasta Exerccios and Solutions para a rea de trabalho do seu computador. Complete os seguintes passos para criar uma VI que adquiri dados continuamente de seu dispositivo DAQ. 1. Abra o LabVIEW. 2. Na janela Getting Started, clique no link Blank VI. 1. Abra o diagrama de blocos apertando <Ctrl+E> ou selecionando WindowShow Diagrama de Blocos. 2. Coloque o VI Acquire Sound Express no diagrama de blocos. Clique com o boto direito do mouse para abrir o palete de funes e selecione ExpressInputAcquire Sound. Coloque o VI Expresso no diagrama de blocos. 3. Na janela de conguraes em #Channels, selecione 1 da lista e clique OK. 9. Coloque o VI Filter Express direita do VI Acquire Signal no diagrama de blocos. No palete de funesFrom the functions palette, selecione ExpressSignal AnalysisFilter e coloque-o no diagrama de blocos.Na janela de congurao dentro de Filtering Type, selecione Highpass. em Cutoff Frequency, use um valor de 300 Hz. Clique OK. 10. Faa as seguinte conexes no diagrama de blocos passando seu mouse por cima dos terminais para que ele se transforme na ferramenta de ao e clique uma vez em cada um dos terminais que voc deseja conectar: a. Conecte o terminal de sada Data do VI entrada Signal do VI Filter. b. Crie um indicador grco para o sinal ltrado clicando com o boto direito do mouse no terminal de sada do Filtered Signal e escolha CreateGraph Indicator. 8. Volte para o painel frontal apertando <Ctrl+E> ou WindowShow Painel Frontal. 9. Execute seu programa clicando no boto Run. Faa um zumbido ou assobie em seu microfone e observe os dados adquiridos de sua placa de som. 10. Salve o VI como Exerccio 1.2 Acquire.vi na pasta de exerccios. 11. Feche o VI. Nota: A soluo deste exerccio est impressa no nal deste manual.
(Fim do Exerccio)
National Instruments Corporation 31 Introduction to LabVIEW Hands-On
A Janela Context Help window mostra informaes bsicas sobre os objetos do LabVIEW quando voc passa o cursor sobre cada tem. Objetos com ajuda de contedo incluem VIs, funes, constantes, estructuras, paletes, propriedades, metodos, eventos, e componentes da caixa de dilogo. Para visualizar a janela Context Help, selecione HelpShow Context Help, aperte as teclas <Ctrl+H>, ou aperte o boto Show Context Help Window na barra de ferramentas Conexes mostradas no Context Help: Necessrio negrito Recomendado normal Opcional apagado Ajuda Adicional VI, Funes, & Ajuda How-To tambm esto disponveis. Help VI, Function, Ajuda& How-To Help Clique com o boto direito do mouse no cone do VI e escolha Help, ou Escolha Detailed Help. na janela context help. LabVIEW Help Ajuda referenciada HelpSearch the LabVIEW Help
32
ni.com
O LabVIEW possui diversos atalhos para facilitam seu trabalho. Os atalhos mais comuns esto listados acima. Enquanto a ferramenta de seleo automtica tima para escolher a ferramenta que voc gostaria de usar no LabVIEW, h casos quando voc quer usar o controle manual. Uma vez que a ferramenta de seleo manual for desligada, voc pode usar a tcla Tab para alternar entre as quatro ferramentas mais comuns (Operar Valores, Posio/Tamanho/Selecione, Editar Texto, Ajustar Cores no painel frontal e Operar Valores, Posio/Tamanho/Selecione, Ligar os no diagrama de blocos). Uma vez que voc escolheu a ferramenta, voc pode apertar <Shift+Tab> para voltar para ligar a ferramenta de seleo automtica novamente. No dilogo ToolsOptions, h diversas opes congurveis para customizar seu painel frontal, diagrama de blocs, impresso e muito mais. Parecido com as opes do LabVIEW, voc pode congurar as propriedades especcas do VI em FileVI Properties L voc pode documentar o VI, mudar a aparncia da janela, e customizar o VI de outras formas.
33
35
Tanto o Loop While quanto o For esto localizados no palete FunctionsStructures. O loop For difere do loop While no fato de que o loop For executa um nmero xo de vezes. O loop While para de executar o subdiagrama somente quando o valor no terminal condicional existe. Loops While Similar a um Do Loop ou um loop Repita-At em linguagem de programao baseada em texto, um loop While, mostrado no canto superior direito, executa um subdiagrama at que uma condio seja alcanada. O loop While executa o subdiagrama at o terminal condicional, um terminal de entrada, receber um valor Booleanao especco. O comportamento e aparncia padro terminal condicional Stop If True. Quando o terminal condicional Stop If True, o loop while executa seu subdiagrama at o condicional recebe um valor TRUE. O terminal de interao (um terminal de sada), mostrado esquerda, contm o nmero de interaes completas. A contagem de interaes sempre comea no zero. Durante a primeira interao, o terminal de interao retorna 0. Loops For Um loop For, mostrado acima, executa o subdiagrama um nmero xo de vezes. O valor no terminal de contgem (um terminal de entrada) representado por N, indica quantas vezes o subdiagrama ser repetido. O terminal de interao (um terminal de sada), mostrado esquerda, contm o nmero de interaes completas. A contagem de interaes sempre comea no zero. Durante a primeira interao, o terminal de interao retorna 0.
36
ni.com
Coloque loops em seu diagram selecionado eles do palete Structures localizado no palete de funes: Quando selecionado, o cursor do mouse se torna um ponteiro especial que voc usa para rodear a seo de cdigo que voc quer repetir. Clique o boto do mouse para denir canto esquerdo superior, clique o mouse novamente no canto inferior direito, e a borda do loop While criada em volta do cdigo selecionado. Arraste ou largue ns adicionais dentro do loop While se for necessrio.
37
O LabVIEW 7.0 introduziu um novo tipo de subVI chamado VIs Expressas. Estes Vis interativos tm uma caixa de dilogo congurvel que permite que usurios customizem a funcionalidade da VI Expressa. O LabVIEW gera em seguida uma subVI baseada nestas conguraes. SubVIs so VIs (consistindo de um painel frotal e um diagrama de blocos) que so usados dentro de outra VI. Funes so a base de todos os VIs. Funes no tm painel frontal ou diagrama de blocos.
38
ni.com
O LabVIEW inclui algumas centenas de funes pr-estabelecidas para ajudar voc a adquirir, analisar, e apresentar seus dados. Voc geralemente usa estas funes como delineado no slide a cima.
Toolkits do LabVIEW
Toolkits adicionais esto disponveis para acrescentar funes de dominio especico ao LabVIEW. Estas funes incluem:
Application Deployment and Targeting Modules * LabVIEW PDA Module * LabVIEW Real-Time Module * LabVIEW FPGA Module * LabVIEW Vision Development Module Embedded System Deployment * DSP Test Integration Toolkit * Embedded Test Integration Toolkit * Digital Filter Design Toolkit * LabVIEW FPGA Module Signal Processing and Analysis * Sound and Vibration Toolkit * Advanced Signal Processing Toolkit * Modulation Toolkit * Spectral Measurements Toolkit * Order Analysis Toolkit * Digital Filter Design Toolkit Software Engineering and Optimization Tools * Execution Trace Toolkit for LabVIEW Real-Time * Express VI Development Toolkit * State Diagram Toolkit * VI Analyzer Toolkit Control Design and Simulation * Control Design and Simulation Bundle * LabVIEW Real-Time Module * System Identification Toolkit * Control Design Toolkit * LabVIEW Simulation Module * State Diagram Toolkit Image Processing and Acquisition * LabVIEW Vision Development Module * NI Vision Builder for Automated Inspection * NI-IMAQ for IEEE 1394
http://www.ni.com/toolkits/
National Instruments Corporation 39 Introduction to LabVIEW Hands-On
Use os botes no topo das janelas dos paletes para navegar, pesquisar e editar os paletes. Voc pode procurar controles, VIs, e funes que ou contm certas palavras ou comeam com certas palavras. Dando um clique duplo em um resultado de busca abre o palete que contm estes resultados de busca. Voc pode clicar e arrastar o nome do controle, VI, ou funo diretamente para o painel frontal ou diagrama de blocos.
40
ni.com
Exerccio 2.1 Analise (Track A, B, & C) Crie um VI que produz uma onda senoidal com uma frequencia especca e exiba os dados em uma tabela de forma de onda at nalizado pelo usurio. 1. Abra um VI em branco apartir da tela Getting Started. 2. Coloque um grco no painel frontal. Clique com o boto direito do mouse para abrir o palete de controles e selecione ControlsModernGraphWaveform Chart. 3. Coloque um controle do tipo dial no painel frontal. Do palete de controles selecione ControlsModern NumricoDial. Veja que quando colocamos o controle no painel frontal, o home esta destacado. Enquanto ele estiver destacado, digite Frequency In para dar um nome a este controle. 4. V ao diagrama de blocos(<Ctrl+E>) e coloque um loop while. Clique com o boto direito do mouse para abrir o palete de funes e selecione ExpressExecution ControlWhile Loop. Clique e arraste no diagrama de blocos para criar um loop while de tamanho correto. Selecione a tabela de formato de onda e o controle dial se eles no foram ainda. Veja que o boto stop j est conectado ao terminal condicional do loop while. 5. Coloque o VI Expresso Simulate Signal Express no diagrama de blocos. Do palete de funes, selecione ExpressSignal AnalysisSimulate Signal e coloque-o dentro do loop while do diagrama de blocos. Na janela de congurao, no tem Timing, escolha Simulate acquisition timing. Clique OK.
6. Coloque um Tone Measurements Express VI no Diagrama de Blocos (ExpressSignal AnalysisTone Measurements). Na janela de congurao, escolha medidas de Amplitude e Frequencia na seo Single Tone Measurements. Clique OK.
41
7.Faa as seguinte conexes ao diagrama de blocos passando seu cursor por cima do terminal para que este se transforme na ferramenta de ao e clique uma vez em cada um dos terminais que voc deseja ligar: a. Ligue o terminal de sada Sine do VI Simulate Signal ao terminal de entrada Signal do VI Tone Measurement. Signals input of the Tone Measurements VI. b. Ligue a sada Sine ao Waveform Chart. c. Crie indicadores para medidas de amplitude e frequencia clicando com o boto direito do mouse em cima de cada terminal Tone Measurements Express VI e selecionando CreateNumrico Indicator. d. Ligue o controle Frequency In ao terminal Frequency do VI Simulate Signal. 8. Volte ao painel frontal e execute o VI. Use o controle Frequency In e observe a frequencia do sinal. Clique no boto stop quando voc tiver terminado. 9. Salve o VI como Exerccio 2.1 Simulated.vi. 10. Feche o VI. Notas Quando voc abrir o palete de funes, aberte o pequeno boto no canto esquerdo superior do palete. Isto ir prender o palete para que ele no disaparea. Este passo ser omitido nos demais exerccios mas deve ser repetido. A soluo deste exerccio est no nal deste manual.
(Fim do Exerccio)
Introduction to LabVIEW Hands-On 42 ni.com
Exerccio 2.2 - Analise
Crie uma VI que mede a frequencia e amplitude de sinal do seu dispositivo DAQ (simulado) e mostre o sinal adquirido em uma grco de formato de onda. As intrues so as mesmas que no Exerccio 2.1, mas o DAQ Assistant usado no lugar do VI Simulate Signal. Tente fazer sem usar as instrues abaixo.
Create a VI that measures the frequency and amplitude of the signal from your (simulated) DAQ device and displays the acquired signal on a waveform chart. The instructions are the same as in Exerccio 2.1, but a DAQ Assistant is used in place of the Simulate Signal VI. Try to do this without following the instructions!
1. Abra um VI em branco.
2. Coloque um grco no painel frontal. Clique com o boto direito do mouse para abrir o palete de controles e selecione ControlsModernGraphWaveform Chart.
3. V at o diagram de blocos e coloque um loop while (ExpressExecution ControlWhile Loop).
4. Coloque o DAQ Assitante no diagram de blocos (ExpressInputDAQ Assistant). Escolha uma entrada analgica no canal 0 de seu dispositivo (simulado) e clique Finish. No tab task timing, escolha continuous para o modo de aquisio. Se voc estiver usando o USB-6009, mude o internvalo de entrada de 2 at 2 e o nmero de samples a serem lidos para 100.
5. Coloque o VI Filter Express direita do DAQ Assistant no diagrama de blocos. No palete de funes, selecione ExpressSignal AnalysisFilter e coloque-o no diagrama de blocos dentro do loop while. Na janela de congurao, em Filtering Type, selecione Highpass. Em Cutoff Frequency, use o valor 300 Hz e clique OK.
6. Conecte o terminal de sada Data do DAQ Assitante entrada Signal do VI Filter.
7. Conecte o terminal Filtered Signal no VI Filter ao Waveform Chart.
8. Coloque o VI Expresso Tone Measurements Express VI no diagrama de blocos(ExpressSignal AnalysisTone). Na janela de congurao, escolha medidas Amplitude e Frequencia na seo de Single Tone Measurments.
9. Crie indicadores para medidas amplitude e frequencia clicando com o boto direito do mouse em cada terminal do VI Expresso Tone Measurment Express e selecione CreateNumrico Indicator.
10. Conecte a sada do Filtro entrada Signals do Tone Measurements Express VI.
11. Retorne ao painel frontal e execute o VI. Observer seu sinal adquirido e sua frequencia e amplitude. Faa um zumbido ou assobie em seu microfone se voc tiver um USB-6009 e
observe a amplitude e frequencia que voc esta produzindo.
12. Salve o VI como Exerccio 2.2 - Data.vi. 13. Feche o VI. Nota: A soluo deste exerccio est no nal deste manual.
(Fim do Exerccio)
National Instruments Corporation 43 Introduction to LabVIEW Hands-On
Exerccio 2.2 Analysis (Track C) Create a VI that measures the frequency and amplitude of the signal from your sound card and displays the acquired signal on a waveform chart. The instructions are the same as in Exerccio 2.1, but the Sound Signal VI is used in place of the Simulate Signal VI. Try to do this without following the instructions! 1. Open a blank VI. 2. Go to the Diagrama de Blocos and place a While Loop down (ExpressExecution ControlWhile Loop). 3. Place the Acquire Sound Express VI on the Diagrama de Blocos (ExpressInput Acquire Sound). 4. Place a Filter Express VI on the Diagrama de Blocos. In the conguration window choose a highpass lter and a cutoff frequency of 300 Hz. 5. Place a Tone Measurements Express VI on the Diagrama de Blocos (ExpressSignal AnalysisTone). In the conguration window, choose Amplitude and Frequency measurements in the Single Tone Measurements section. 6. Create indicators for the amplitude and frequency measurements by Clique com o boto direito do mouseing on each of the terminals of the Tone Measurements Express VI and selecting CreateNumrico Indicator. 7. Connect the Data terminal of the Acquire Sound Express VI to the Signal input of the Filter VI. 8. Connect the Filtered Signal terminal of the Filter VI to the Signals input of the Tone Measurements VI. 9. Create a graph indicator for the Filtered Signal by Clique com o boto direito do mouseing on the Filtered Signal terminal and selecting CreateGraph Indicator. 10. Return to the Painel Frontal and run the VI. Observe the signal from your sound card and its amplitude and frequency. Hum or whistle into the microphone and observe the amplitude and frequency you are producing. 16. Save the VI as Exerccio 2.2-Data.vi. Close the VI. Nota: A soluo deste exerccio est no nal deste manual.
(Fim do Exerccio)
Introduction to LabVIEW Hands-On 44 ni.com
Estrutura Case A Estrutura Case tem um ou mais subdiagramas, ou casos, das quais exatamete um ser executado com a estrutura. O valor ligado ao terminal seletorCase Structure has one or more subdiagrams, or cases, exactly one of which executes when the structure executes. The value wired to the selector determina que caso executar e pode ser do tipo booleanao, string, inteiro, ou enumerado. Clique com o boto direito do mouse na borda da estrutura para adicionar ou deletar casos. Use a ferramenta de texto para entrar com valores no rotulo do seletor de casos e congure os valores administrados por cada caso. Isto encontrado em FunctionsProgrammingStructuresCase Structure. Select Returna os valores ligados entrada t ou sada f , dependendo do valor de s. Se s for TRUE, esta funo retorna o valor ligado a t.Caso contrrio, a funo retorna o valor ligado a f. O painel de conexes mostra os tipos de dados default para esta funo polimrca. Ela se encontra em FunctionsProgramming ComparisonSelect. Exemplo a: entrada Booleanaa: Simple if-then case. If the Booleana input is TRUE, the true case will execute; otherwise the FALSE case will execute. Exemplo b: entrada Numrica. O valor de entrada determina que caixa deve ser executada. Se estiver for a do alcance dos casos, o LabVIEW executa o caso default. Exemplo c: Quando o Booleano passa um valor TRUE para o Select VI, o valor 5 passado para o indicador. Quando o Booleano passa um valor FALSE para o Select VI, 0 passado para o indicador.
45
Operaes de E/S de Arquivo passam dados da memria para e de arquivos. No LabVIEW voc pode usar as funes de E/S de Arquivo para: Abrir e fechar arquivos de dados Ler e escrever dados em arquivos Ler e escrever dados para planilhas Mudar e renomear arquivos e diretrios Alterar caractersticas de arquivos Criar, modicar, e ler conguraes do arquivo Os formatos diferentes de arquivos que o LabVIEW pode usar ou criar so os seguintes: Binrio Arquivos binrios so o formato fundamental dos demais formatos de arquivo. ASCII Um arquivo ASCII um tipo especco de arquivo binrio que um padro usado na maioria dos programas. ASCII so tambm conhecidos como arquivos de texto. LVM O LabVIEW measurement data le (.lvm) um formato de arquivo delimitado por abas que voc pode abrir com uma aplicao de planilha ou editor de texto. Este formato de arquivo um tipo especco de ASCII criado pelo LabVIEW. O formato .lvm contm informao sobre os dados como data e hora que os dados foram gerados. TDM Este formato de arquivo um tipo especco de binrio criado para produtos National Instruments. Ele consiste em dois tipos separados de arquivos: uma seo XML contendo atributos dos dados e uma seo binria para formato de ondas.
46
ni.com
E/S de alto nvel de Arquivo : Estas funes trazem um nivel maior de abstrao para o usurio abrindo e fechando arquivos automaticamente antes e depois de ler ou escrever dados. Algumas destas funes incluem so: o Escrever em uma planilha Converte um array de 1D ou 2D de nmeros de preciso simples em um string e escreve este string em um novo arquivo ASCII ou acrescenta o string em um arquivo existente. o Ler de uma planilha Le um nmero especicado de linhas ou colunas de um arquivo de texto numrico comeando num caracter especicado e converte os dados em um array de 2D de nmeros de preciso simples.O VI abre o arquivo antes de ler e fecha despois o Write to Measurement File VI Expresso que escreve dados em um arquivo de medidas baseado em texto (.lvm) ou formato de arquivo de medidas binrio (.tdm) . o Read from Measurement File VI Expresso que le dados de um arquivo de medidas baseado em texto (.lvm) ou formato de arquivo de medidas binrio (.tdm) format. Voc pode especicar o nome, formato e tamanho do segmento do arquivo. Estas funes so fceis de usar e so execelentes para aplicaes simples. No caso em que voc ter um uxo constante para o arquivo devido a escrita ou leitura contnua do mesmo, pode haver um teto em algumas destas funes. No prximo exemplo veremos como escrever e ler de arquivos*.lvm.
47
Exerccio 2.3 Decises e Salvando dados (Track A, B, & C) Crie um VI que permite que voc salve seus dados em um arquivo se a frequencia do seus dados estiver abaixo de um limite controlado pelo usrio. 1. Abra Exerccio 3.2 Data.vi. 2. V para FileSave As e salve como Exerccio 3.3 Decision Making and Saving Data. Na caixa Save As selecione substitute copy for original e clique Continue. 3. Acrescente uma estrutura case ao Diagrama de Blocos dentro do loop while (FunctionsProgrammingStructuresCase Structure). 4. Dentro do caso true , acrescente um Write to Measurement File Express VI (FunctionsProgrammingE/S de ArquivoWrite to Measurement File).
a. Na janela de conguraes que abre, escolhaSave to series of les (multiple les). Note qual o local default para salver seu arquivo e mude se quiser. b. Clique em Settings e escolha Use next available le name em Existing Files.
c. Em File Termination escolha para comear um novo arquivo a cada 10 segmentos. Clique OK duas vezes. 5. Acrescente cdigo para que a frequencia computada pelo Tone Measurements Express VI que est abaixo do limite ser salva.Dica: V para FunctionsProgrammingComparisonLess? 6. Lembre-se de conectar os dados do DAQ Assistant ou o Acquire Sound Express VI entradaSignals do Measurement File VI. Se voc precisar de ajuda rera soluo deste exerccio. 7. V ao Painel Frontal e execute seu VI. Varie seu limite de frequencia e pare o VI. 8. V at My DocumentsLabVIEW Data e abra um dos arquivos que foram salvos. Examine a estrutura do arquivo e verique que h 10 segmentos no arquivo. 9. Salve e Feche seu VI . Nota: A soluo deste exerccio est no nal deste manual
(Fim do Exerccio)
48
ni.com
Modelo de Programao para os VIs de Arquivos Intermedirios Este mesmo modelo de programao se aplica a acquisio de dados, controle de instrumentos, E/S de arquivos, e outros esquemas de comunicao. Na maioria dos instantes voc abrir o arquivo ou canal de comunicao, ler e escrever vrias vezes, e ai a comunicao ser fechada ou encerrada. boa prtica de comunicao checar por erros no nal. Lembre-se deste modelo de programao quando voce passar para programao mais avanada ou ver DAQ, comunicao, ou E/S de arquivos de VIs Expressos. VIs e Funes de E/S de Arquivo Use as funes e VIs de E/S de Arquivo para abrir, fechar , ler e escrever em arquivos, criar diretrios e arquivos em que voc especica o caminho do controle, retirar informaes sobre diretrios, e escrever strings, numeros, arrays e clusters em arquivos. Use VIs de alto nvel de E/S de Arquivo localizadas na leira de cima do palete para realizar operaes comuns de E/S, como escrever ou ler vrios tipos de dados. Tipos aceitveis podem incluir caracteres, ou linhas em arquivos textos, arrays de 1D ou 2D (valores numricos de preciso simples) em arquivos binrios, ou arquivos binrios de 16 bits. Use VIs e funes de baixo nvel de E/S de Arquivo localizadas no leira do meio do palete, funes avanada para controlar cada operao de arquivo individualmente. Use as principais funes de baixo nvel para criar ou abrir, escrever,ler, e fechar arquivos. Voc pode, tambm, criar diretrios mudar, copiar, ou deletar arquivos; listar contedo de diretrios; mudar caractersticas de arquivos; ou manipular caminhos. Rera ao NI Developer Zone para mais informaes sobre escolhendo um formato de arquivo.
49
planilhas so arquivos ASCII com um certo tipo de formatao. Dois metodos so valores separados por virgulas (CSV) e delimitado por abas. Arquivos delimitados por abas, que so o mais popular, tm abas constantes entre colunas de dados e no nal de cada linha de constantes e entre leiras. O LabVIEW inclui VIs que realizam esta formatao : Write to Spreadsheet File pega um array de 1D ou 2D de dados numricos e formata estes dado, e escreve a informao em um arquivo. Format Into File pega diversos tipos de dados (string, numrico, Booleano) e escreve esta informao em um arquivo, usando ou um caminho ou referencia de arquivo. Esta funo pode ser redimensionada par incluir terminais de dados se necessrio. Array to Spreadsheet String uma funo de string que formata um array de dados em uma string para ser escrita em um arquivo texto. A funo Concatenate String usada para criar strings maiores a partir de outras menores e mais exvel quando convertemos dados para uma string que pode ser escrita em um arquivo texto.
50
ni.com
14. Ligue o error out da funo Write Text File funo Unbundle By Name. 15. Coloque uma funo Or no loop while. Clique com o boto direito do mouse no Diagrama de Blocos para abrir o palete de funes e selecionar Boolean Or. 16. Passe para o Painel Frontal e coloque um boto stop. Clique com o boto direito do mouse no Painel Frontal para abrir o palete de controles e selecione Boolean Stop Button. 17. No Diagrama de Blocos, ligue o elemento status do cluster de erros entrada x da funo Or e ligue o boto stop na entrada y. 18. Ligue a sada do Or no terminal condicional do loop while.
51
19. Coloque uma funo Close File direita do loop While. Clique com o boto direito do mouse no Diagrama de Blocos para abrir o palete de funes e selecione File I/O Close File. 20. Ligue o tunel de sada refnum ao terminal de entrada refnum da funo Close File. 21. Ligue o tunel de sada de erros ao terminal error in da funo Close File.
22. Volte ao Painel Frontal e exercute o VI. Voc ser advertido para Choose or enter path of le to open, entre: planilha.xls. 23. Clique no boto stop para terminar a execuo do VI. 24. Abra o arquivo: planilha.xls. 25. Salve e feche o VI.
(Fim do Exerccio)
52
ni.com
53
Controles e Indicadores so itens do Painel Frontal que permitem usurios a interagirem com o programa para trazer informaes de entrada e mostrar resultados. Voc pode acessar Controles e Indicadores clicando com o boto direito do mouse no Painel Frontal. Alm disto, voc recebe controles e indicadores adicionas quando voc instala mdulos e toolkits. Por exemplo, quando voc instala as ferramentas de Control Design, voc recebe grcos especializados como o de Bode e Nyquist que no esto disponveis por default.
54
ni.com
A tabela de formato de onda um indicador numrico que mostra um ou mais grcos. A tabela de formato de onda localizado no palete ControlsModernGraph. Tabelas de formato de onda podem ser visualizados em um ou mais grcos. O Painel Frontal seguinte mostra um exemplo de uma tabela com mais de um formato de onda. Voc pode mudar o maximo e mnimo dos eixos x e y clicando duas vezes no valor com a ferramenta de rotulao e digitando novos valores. Similarmente, voc pode mudar a legenda dos eixos. Voc pode tambm clicar na legenda do grco e mudar, estilo, formato, e cor do trao que mostrado na tabela.
55
Grcos so indicadores muito potentes do LabVIEW. Eles so altamente customizveis, e podem ser usados consisamente para mostrar uma grande quantidade de informao. A pgina de propriedades permite que voc mostre as conguraes do tipo de grco, escala, e opes de cursor, e diversas outras opes do grco. Para abrir a pgina de propriedades, clique com o boto direito do mouse no grco no painel frontal e escolha Properties. Gracos permitem, tambm, que voc crie grcos para papeis tcnico com a funo export simplied image. Clique com o boto direito do mouse no grco, selecione Data OperationsExport Simplied Image
56
ni.com
Loops for e while podem ser indexados e acumular arrays em suas bordas. Isto conhecido como indexao automtica. O ponto de indexao na borda conhecido com tnel. O loop for tem indexao automtica habilitada por default. O loop while tem indexao automtica desabilitado por default. Exemplos: Habilite a indexao automtica para coletar valores dentro do loop para construir um array. Todos os valores so colocados em um array aps a execuo do loop. Desabilite a indexao automtica se voc estiver interessado somente no resultado nal.
57
Para criar um array de controles ou indicadores como mostrados, selecione um array no palete ControlsModernArray, Matrix, and Cluster, coloque-o no Painel Frontal, e arraste um controle ou indicador em uma estrutura array. Se voc tentar arrastar um controle ou indicador invlido como um grco XY, para dentro da estrutura, voc no conseguir coloca-lo dentro da estrutura. Voc deve inserir um objeto dentro da estrutura do array antes de usar o array no diagrama de blocos. Caso contrrio, o terminal do array car preto e vazio.
58
ni.com
Para acrescentar dimenses a um array uma por vez, clique com o boto direito do mouse no display de ndice e selecione Add Dimension do menu de atalhos. Voc pode usar a ferramenta de posicionamento para redimensionar o tamanho do display de ndice at conseguir a dimenso desejada Array de 1D vendo um nico elemento:
59
Time Delay O Time Delay Express VI atrasa a execuo por um nmero especicado de segundos. Siga as regras de programao de uxo de dados, o loop while no ir passar os dados adiante at que todas as tarefas dentro do loop tenham sido executadas, assim atrasando cada interao por alguns segundos. Timed Loops Executa cada interao como especicado previamente. Use o Timed Loop quando voc quiser desenvolver VIs com capacidades de temporizao com vrias taxas, temporizao precisas, feedback no loop de execuo, caracterizaes de temporizao que mudam dinamicamente, ou vrios nveis de prioridades de execuo. D um clique duplo no n de entrada ou clique com o boto direito do mouse no n de entrada e selecione Congure Timed Loop do menu de atalhos para ver a caixa Loop Conguration, onde voc pode congurar o Timed Loop. Os valores que voc entrar na caixa Loop Conguration que aparece como opes no n de entrada.
Wait Until Next ms Multiple Espera at o valor de milliesegundos do cronmetro seja um multiplo especicado no millisecond multiple. Use esta funo para sincronizar atividades. Voc pode chamar esta funo em um loop para controlar a taxa de execuo do loop. possivel, porm, que o periodo do primeiro loop seja curto de mais. Esta funo faz chamadas dessincronizadas ao sistema, mas os ns funcionam de forma sincronizada. Assim, eles no completam a execuo at que o tempo delimitado tenha passado FunctionsProgrammingTimingWait Until Next ms Multiple
60
ni.com
Propriedades so todas as qualiades dos objetos do painel frontal. Com propriedades, voc pode congurar ou ler caractersticas como pano da frente e pano de fundo, formatao de dados e preciso, visibilidade, texto descritivo, tamanho, e lugar no painel frontal, e etc.
61
Exerccio 3.1 Analise Manual (Track A, B, & C) Crie um VI que mostra os dados simulados no grco de formato de onda e mea a frequencia e amplitude dos dados. Use o cursor do grco para vericar as medidas de frequencia e amplitude. 1. Abra Exerccio 2.1 Simulated.vi. 2. Salve o VI como Exerccio 3.1 Manual Analysis.vi. 3. V para o Diagrama de Blocos e retire o loop while. Clique com o boto direito do mouse no canto do loop e escolha Remove While Loop para que o cdigo dentro do loop no seja deletado 4. Delete o boto stop. 5. No Painel Frontal, troque a tabela de formato de onda por um grco. Clique com o boto direito do mouse na tabela e selecione ReplaceModernGraphWaveform Graph. 6. Faa a legenda do cursor disponvel no grco. Clique com o boto direito do mouse no grco e selecione Visible ItemsCursor Legend. 7. Mude o valor mximo do Frequency In para 100. De um clique duplo no valor mximo e digite 100 uma vez que o texto estiver selecionado. 8. Ajuste o valor default do Frequency In ajustadando o controle para o valor que voc quiser, Clicando com o boto direito do mouse no controle e selecionando Data OperationsMake Current Value Default. 9. Execute o VI e observe o sinal do grco de formato de onda. Se voc no conseguir ver o sinal, voc pode precisar desligar a escalao automtica do eixo-x. Clique com o boto direito do mouse no grco e selecione X ScaleAutoScale X. 10. Mude a frequencia do sinal para que voc possa ver alguns periodos do grco 11. Mea manualmente a frequencia e amplitude do sinal no grco com os cursores. Para visualizar os cursores no grco, clique em um dos trs botes da legenda do cursor. Uma vez que voc conseguir ver os cursores, arraste estes pelo grco e suas coordenadas sero mostradas na legenda.
12. Lembre-se que a frequencia de um sinal inversamente proporcional a seu periodo (f = 1/T).Suas medidas se igualam aos indicadores do Tone Measurements VI? 13. Salve e feche seu VI. Nota: A soluo deste exerccio est no nal deste manual
(Fim do Exerccio)
62
ni.com
Reviso Com o lanamento do LabVIEW 8 da National Instruments, voc tem a liberdade de escolher a sintaxe mais ecaz para computao tcnica, se voc estiver desenvolvendo algoritmos, explorando conceitos DSP, ou analisando resultados. Voc pode instrumentar seus scripts e desenvolver algoritmos no diagrama de Blocos interagindo com softwares de terceiros como o MathWorks Inc. MATLAB software, Mathematica, Maple, Mathcad, IDL e Xmath. Uso destas ferramentas com o LabVIEW alcanado de vrias formas dependendo de seu programa listado abaixo: N matemtico textual do LabVIEW : N MathScript , N de Formulas Comunicao com outros softwares atravs de ns do LabVIEW: N Xmath , n MATLAB script, n Maple*,n IDL* Comunicao com softwares atravs do VI Server: VIs Mathematica* , e VIs Mathcad*
Math Node
No LabVIEW 8, voc pode combinar a programao grca intuitiva do LabVIEW com o MathSript, uma linguagem textual orientada para matemtica que normalmente compativel com a linguagem popular m-le.
*toolkit LabVIEW especica a ferramenta matemtica deve ser instalada.
63
O n MathScript melhora o LabVIEW acrescentando uma linguagem baseada em texto para algoritmos matemticos no ambiente de programao grco do LabVIEW.Scripts M-le que voc escreve e salvou na janela MathScript pode ser aberto no n MathScript. Scripts m-le escritos em outros programas normalmente pode ser executadas no n MathScript. O MathScript permite que voc escolha a sintaxe que voc se sentir mais confortvel para resolver problemas. Equaes podem ser instrumentadas com o MathScript para parmetros de explorao, simulao, e lanamento em uma aplicao nal. O n MathScript: Localizado no subpalete ProgrammingStructures. Caixa redimensionvel para entrar com computaes textuais diretamente no Diagrama de Blocos. Para acrescentar variveis, Clique com o boto direito do mouse e escolha Add Input ou Add Output. Nomei variaveis como elas so usadas na frmula. (Nomes so diferenciveis por letras maiusculas e minusculas). O tipo de dados de sada podem ser mudados clicando com o boto direito do mouse no n de entrada ou sada. Declaraes devem terminar com ponto e virgula para evitar a execuo imediata. Habilidade de importar & exportar m-les clicando com o boto direito do mouseing no n.
64
ni.com
A janela MathScript traz um ambiente interativo onde equaes podem ser prototipadas e calculos podem ser feitos. A janela e N MathScript compartilham uma sintaxe comum e variveis globais fazendo uma mudana perfeita de prototipagem para a implementao. Os dados da janela de prvia traz um modo conveniente de ver dados varveis como nmeros grcos e audio (com suporte da placa de som). Ajuda para o MathScript Ajuda para o ambiente pode ser acessada usando a Janela interativa do MathScript. Digite Help na janela de comandos para uma introduo ao help do MathScript. Help seguido de uma funo mostrar ajuda especca a esta funo. Caractersticas da janela interativa MathScript: Prototipe equaes e frmulas atravs da janela Acesse arquivos de ajuda de funes facilmente digitando Help <function> na janela de comandos Selecione uma variavel para mostar seus dados na janela de prvia e at ouvir os resultados Escreva, salve, armazene, e execute m-les usando a aba script. Compartilhe dados entre o n MathScript no LabVIEW e a Janela MathScript usando variveis globais. Grcos avanados e exportao de imagens
65
Exerccio 3.2 MathScript (Track A, B, & C) Crie um VI que usa o MathScript para alterar seu sinal simulado e plotar um grco do mesmo. Use a janela interativa do MathScript e altere os dados e carregue o script que voc criou no n MathScript. 1. Abra Exerccio 3.1 Manual Analysis.vi. 2. Salve o VI como Exerccio 3.2 MathScript.vi. 3. V ao Diagrama de Blocos e apague o o conectando o Simulate signal ao Waveform Graph 4. Coloque o n MathScript (ProgrammingStructuresMathScript Node). 5. Clique com o boto direito do mouse na borda esquerda do n MathScript e selecione Add Input. Nomei esta entrada de In digitando quando o n estiver selecionado e preto. 6. Clique com o boto direito do mouse na borda direita do n MathScript e selecione Add Output. Nomei esta sada de Out. 7. Convirta a sada Dynamic Data Type do Simulate Signals VI para um array de 1D de escalares para a entrada do n MathScript. Coloque um Convert from Dynamic Data Express VI no Diagrama de Blocos (ExpressSignal ManipulationConvert from Dynamic Data). Por default, o VI congurado corretamente ento clique OK na janela de congurao. 15. Ligue a sada Sine do Simulate Signal VI entrada Dynamic Data do Convert from Dynamic Data VI. 16. Ligue a sada Array do Convert from Dynamic Data VI ao n In do n MathScript. 17. Para usar os dados do Simulate Signal VI na Janela Interativa do MathScript necesrio declarar a varivel de entrada como uma varivel global. Dentro do N MathScript digite global In;. 18. Retorne ao Painel Frontal e aumente a frequencia para um valor entre 50 e 100. Execute o VI. 19. Abra a Janela Interativa do MathScript(ToolsMathScript Window). 20. Na Janela Interativa do MathScript, a janela de comandos pode ser usada para digitar os comandos desejados. Digite global In e aperte Enter. Isto permitir que voc veja os dados que passam pela varivel In no n MathScript.
66
ni.com
14. Veja que todas as variveis declaradas no script junto com suas dimenses e tipos esto listadas na aba Variables . Para ver os dados plotados, clique uma vez na varivel In e mude o a opo do menu de Numeric para Graph.
16. Clique com o boto direito do mouse em Cursor 1 e escolha Bring to Center. O que que isto faz? 17. Arraste o cursor pelo grco. O cursor no se mover com o zoom selecionado. 18. Clique com o boto direito do mouse no grco e escolha Undock Window. O que que isto faz? Feche esta nova janela quando voc tiver terminado.
67
19. Multiplique os dados por um decaimento exponencial. Siga estes passos: a. Crie um array de 100 elementos de dados que constitue uma funo rampa indo de 0.01 a 5 digitandoArray = [0.01:0.05:5]; na janela de comandos e apertando Enter. Que tipo de varivel o Array? b. Crie um array contendo o decaimento exponencial. Digite : Exp = 5*exp(-Array); e aperte Enter. c. Agora multiplique os arrays Exp e In elemento por elemento digitando Out = In.*Exp; e aperte Enter. d. Veja o grco da varivel Out. 20. V a aba History e use o Ctrl-clique para escolher os 4 comandos que voc acabou de digitar. Copie estes comandos usando <Ctrl-C>. 21. No tab Script, cole os comandos no editor de scripts usando<Ctrl-V>. 22. Salve seu script clicando em Save na parte inferior da janela . Salve como myscript.txt 23. Feche a Janela MathScript. 24. Volte para o Diagrama de Blocos do Exerccio 4.2 MathScript. Carregue o script que voc acabou de criar clicando com o boto direito do mouse na borda do n MathScript e selecionando Import Navegue at myscript.txt, selecione-o, e clique OK. 25. Clique com o boto direito do mouse na variavel Out e selecione Choose Data Type1D-ArrayDBL 1D. Tipos de dados de sada precisam ser ajustados manualmente no MathScript.
26. Ligue o Out ao grco de formato de onda. 27. Volte ao Painel Frontal e execute o VI. Os dados tm uma aparncia desejada? 25. Salve e feche seu VI Nota: A soluo deste exerccio est no nal do manual
(Fim do Exerccio)
68
ni.com
LabVIEW utliza diversos tipos de dados. Estes incluem: Booleanos, Numrico, Arrays, Strings, Clusters, e mais. A cor e smbolo de cada terminal indica o tipo de dado do controle ou indicador. Terminais de controle tm uma borda mais grossa . Alm disto as setas aparecem nos terminais do painel frontal para indicar se o terminal controle ou indicador. Uma seta aparece no lado direito se for controle, e no lado esquerdo se for indicador. Denies Array: Arrays agrupam dados do mesmo tipo. Um array consiste em elementos e dimenses. Elementos so dados que constituem o array. A dimenso o comprimento, altura, ou profundidade do array. Um array pode ter mais de uma dimenso e at (231) elementos 1 por dimenso, se a memria permitir. Cluster: Clusters agrupam dados de elementos de diversos tipos, com um grupo de os dentro de um cabo de telefone, onde cada o representa um elemento diferente do cluster.
Veja HelpSearch the LabVIEW Help para mais informaes. O LabVIEW User Manual no site ni.com traz referncias adicionais para tipos de dados do LabVIEW.
69
Exerccio 3.3 Aplique o que voc aprendeu(Track A, B, & C) Neste exerccio, voc ir criar um VI que usa o que voc aprendeu at aqui. Desenvolva um VI que faz o seguinte: 1. Adquire dados de seu dispositivo e plota um grco (do seu dispositivo DAQ, ou dispositivo simulado ou placa de som). 2. Filtra estes dados usando o Filter Express VI (FunctionsExpressSignal AnalysisFilter). Deve haver um controle no painel frontal para denir uma frequencia de corte.
5. Faa um Fast Fourier Transform (FFT) para obter informaes a respeito da frequencia de seus dados ltrados e plote um grco com os resultados. Use o Spectral Measurements Express VI (FunctionsExpressSignal AnalysisSpectral).
4. Encontre a frequencia dominante de seus dados ltrados usando o Tone Measurements Express VI. 5. Compare esta frequencia quela escolhida pelo usurio. Se a frequencia estiver acima deste limite, ascenda um LED. Se voc estiver usando o USB-6009, ascenda o LED de seu hardware usando o DAQ Assistant. Voc precisar inverter a linha digital para ascener o LED quando o valor passar do limite. Voc pode especicar isto na janela de congurao do DAQ Assistant ou com uma funo booleana not. 6. Se voc se atrapalhar, abra a soluo ou veja a mesma no nal deste manual.
(Fim do Exerccio)
Introduction to LabVIEW Hands-On 70 ni.com
71
Clusters agrupam componentes iguais e diferentes. Eles so equivalentes ao record em Pascal e struct em C. Componentes do cluster podem ser de tipos diferentes de dados. Exemplos: Informao de erros Agrupamos bandeiras booleanas de erro, um cdigo numrico de erro, e uma string indicando a fonte do erro para especicar o erro exato. Informao de usrioAgrupamos uma string com o nome do usurio, e um nmero de identicao para especicar seu cdigo de segurana.
Todos os elementos do cluster precisam ser ou controles ou indicadores. Voc no pode ter um controle de string e um indicador booleano no mesmo cluster. Pense em clusters como um agrupamento de os individuais em um nico cabo.
72
ni.com
Um cluster de objetos no painel frontal pode ser criado escolhendo Cluster do palete ControlsModernArray, Matrix & Cluster. Esta opo traz a estrutura do cluster (parecida com a estrutura do array). Voc pode dimensionar a estrutura cluster ao coloca-la no painel frontal. Clique com o boto direito do mouse dentro da estrutura e acrescente objetos de qualquer tipo. Nota: Voc pode ter inclusive um cluster de clusters. O cluster se torna um cluster de controles ou indicadores dependendo do tipo de dados que forem colocados dentro do mesmo. Voc pode criar um cluster de constantes no diagrama de blocos usando o Cluster Constant localizado no palete Cluster . Isto traz uma estrutura vazia . Voc pode dimensionar o cluster ao coloca-lo no diagrama de blocos. Coloque as constantes dentro da estrutura. Nota: Voc no pode colocar terminais para o painel frontal em um cluster de constantes, nem colocar constantes especiais como constantes de aba ou strings vazias dentro do cluster de constantes.
73
Os termos Bundle e Cluster so fortemente relacionados no LabVIEW. Exemplo: Voc usa uma funo Bundle para criar um cluster. Voc usa uma funo Unbundle para extrair os objetos do cluster. Funo Bundle Forma um cluster contendo os dados objetos (explique o exemplo). Funo Bundle by NameAtualiza os valores dos objetos especcos do cluster (o objeto deve ter seu proprio rtulo). Nota:Voc precisa ter um cluster existente ligado no terminal central da funo Bundle by Name.
74
ni.com
O tipo de dado waveform traz os dados, tempo de incio e t do formato de onda. Voc pode criar formatos de onda usando a funo Build Waveform. Vrios VIs e funes que voce usa para adquirir ou analisar formas de onda aceitam e retornam este tipo de dado por default. Quando voc liga um tipo de dado waveform a um grco ou uma tabela de formato de onda, estes plotam a onda automaticamente baseado nos dados, tempo inicial e x da onda. Quando voce liga um array de dados waveform a um grco ou tabela, estes automaticamente plotam todas as ondas disponveis. Build Waveform Cria uma onda ou modica uma onda existente com tempo inical representado como um TimeStamp absoluto. TimeStamps so horrios e datas do mundo real e so muito teis para gravao de dados. Bundle Cria uma onda ou modica uma onda existente com um timestamp relativo. A entrada para t0 um DBL. Criando uma onda usando o bundle permite que dados sejam plotados em um eixo X (tempo) negativo.
75
Shift registers transfer data from one iteration to the next: Clique com o boto direito do mouse no lado esquerdo ou direito do loop for ou while para acrescentar um Shift Register. O terminal direito armazena dados no nal da interao. Os dados aparecem no terminal esquerdo no comeo da prxima interao. O shift register se adapta ao tipo de dado ligado a ele. Uma entrada de 0 resultar em uma sada de 5 no nal da primeira interao, 10 aps a segunda, e 15 aps a terceira interao. Dito de outra forma, um shift register usado para reter o valor de uma interao at a prxima. Eles so muito teis para aplicaes que tem memria ou feedback entre estados. O n de feedback outra representao do mesmo conceito (mostrado abaixo) Ambos os programas tem o mesmo comportamento.
76
ni.com
Modularidade dene o grau em que seu VI composto por componentes discretos, tais que uma mudana a um tem impacto minimo nos demais componentes. No LabVIEW estes compontentes separados so chamados de subVIs. Criar um subVIs com seu cdigo aumenta a legibilidade e a capacidade de reutilizao de seus VIs. Na imagem superior, repetimos um cdigo para permitir que o usrio trabalhe com diversas escalas de temperatura. Como a poro de cdigo identica para ambos os casos, criamos um subVI para ela. Isto tornar o cdigo mais legvel, por ser menos poluido, e permitir que reaproveitamos o cdigo facilmente. Como podemos ver, o cdigo cou muito menos bagunado, e alcana a mesma nalidade e se for necessrio, a escala de temperatura pode ser reutlizada em outras aplicaes. Qualquer poro de cdigo LabVIEW pode se tornar um subVI que por sua vez pode ser usado por outros cdigos do LabVIEW.
77
Criando um SubVIs Um n de subVI corresponde a uma chamada de sub-rotina em linguagem de programao textual. O diagrama de blocos que contm vrios subVIs identicos chama o mesmo subVI diversas vezes. Os controles e indicadores do subVI recebem e retornam informao para o diagrama de blocos do VI principal. Clique no cone Select a VI ou texto no palete de funes, navegue, e clique duas vezes em um VI, coloque este no diagrama de blocos para criar um subVI para que chama este VI. Os terminais de entrada e sada e o cone de um subVI so facilmente customizveis. Siga as instrues abaixo para criar um subVI rapidamente. Criando um SubVIs a partir de sees de um VI Transforme uma seo de seu VI em um subVI usando a ferramenta de posio para selecionar a seo de seu diagrama de blocos e selecione EditCreate SubVI. Um cone para o novo subVI tomar o lugar do cdigo selecionado no diagrama de blocos. O LabVIEW cria controles e indicadores para seu novo subVI, automaticamente congura o painel de conectores baseado no nmero de controles e indicadores selecionados e liga o subVI a os existentes. Veja HelpSearch the LabVIEW HelpSubVIs para mais informaes.
78
ni.com
Um n do subVI corresponde uma chamada de subrotina em uma linguagem de programao baseada em texto. O n no o subVI, somente uma chamada de subrotina em um programa no a subrotina propriamente dito. O diagrama de blocos que contm vrios ns identicos de subVIs chama o mesmo subVI diversas vezes. A abordagem modular faz com que aplicaes sejam mais fceis de depurar e manter. A funcionalidade do subVI no importa para este exemplo. O ponto importante transformar duas entradas numricas em uma nica entrada.
79
O cone e painel de conexes permite que voc dena os dados sendo transferidos para dentro e para for a do subVI alm de sua aparencia do no cdigo principal do LabVIEW. Cada VI tem um cone no canto superior direito do painel frontal e diagrama de blocos. Depois e construir seu VI, crie um cone e painel conector para que voc possa usar o VI como subVI. O cone e painel de conexes corresponde ao prototipo da funo em linguagem baseada em texto. H diversas opes para o painel de conexes, mas alguns padres gerais esto exemplicadas a cima. Em geral, reserver os terminais superiores para referencias e os inferiores para cluster de erros. Para denir um painel de conexes, clique com o boto direito do mose no cone e selecione Show Connector no menu de atalhos. Cada retngulo no painel de conexes representa um terminal. Use os terminais para atribuir entradas e sadas. Selecione padres diferentes clicando com o boto direito do mouse e selecionando Patterns no menu de atalhos.
80
ni.com
Um cone uma representao grca do VI. Se voc usar um VI como subVI, o cone identica o subVI no diagrama de blocos. O editor de cones uma utilidade que vem embutido no LabVIEW 8 e permite usurios a customizar totalmente a aparencia de seus subVIs. Isto permitir que programadores distinguem visualmente seus subVIs e aumentaro a usabilidade de subVIs em grandes pores de cdigo. Depois de ter denido o painel de conexes e customizar seu cone, voc est pronto para colocar seu subVI em outro cdigo de LabVIEW. H duas formas de fazer isto: Para colocar um subVI no Diagrama de Blocos 1. Clique no boto Select a VI no palete de funes 2. Navegue at o VI que voc deseja usar como subVI 3. D um clique duplo para coloca-lo no diagrama de blocos Para colocar e abrir um VI no diagrama de blocos de outro VI 1. Use a ferramenta de posicionamento para clicar no cone do VI que voc deseja usar como subVI 2. Arraste o cone para o diagrama de blocos de outro VI
81
4. No painel frontal clique com o boto direito do mouse no cone no canto superior direito da janela e selecione Show Connector para revelar o painel de conexes.
5. Atribua terminais aos dois controles e ao indicador clicando primeiro no terminal e depois no controle/indicador desejado Nota: Conveno geral ter os controles como dados de entrada no lado esquerdo e indicadores como sada no lado direito do cone.
82
ni.com
6. Clique com o boto direito do mouse no painel de conexes e selecione Edit cone. Isto abrir o editor.
8. Salve oSubVI. Ele agora pode ser usado como qualquer outro VI para realizar qualquer funo, neste caso a soma de dois nmeros.
(Fim do Exerccio)
83
Voc usar uma maquina de estados para implementar um algoritmo que pode ser descrito com um diagrama de estados ou uxograma. Uma mquina de estados consiste em uma srie de estados e transies que te guiam para o prximo estado. Cada estado leva a um ou mais estados ou encerra o uxo. Uma aplicao comum para mquinas de estados para criar interfaces. Em uma interface de usurio, as aes do usrio mandam informao para a interface em outro segmento do processamento. Cada segmento haje como um estado. Testes de processos outra aplicao comum da mquina de estado. Para um teste de processo, um estado representa um segmento do processo. Dependendo do resultado de cada estado de teste, um estado diferente pode ser chamado.
84
ni.com
Se um estado pode transitar para vrios estados potenciais, uma estrutura case pode ser usada. Outra abordagem usar um array de estados possiveis e permitir que o cdigo escolha o melhor estado para passar para o shift register.
85
impossivel comunicar entre loops paralelos usando fluxo de dados. Dados no podem entrar ou sair de uma estrutura enquanto esta ainda estiver em execuo via dataflow. Variveis so elementos do diagrama de blocos que permite que voc acesse dados armazenados em outro lugar. Variveis locais guardam dados em controles e indicadores do painel frontal. Variveis permitem que voc contorne o fluxo de dados normal passando dados de um lugar para outro sem contectar os lugar por um fio.
86
ni.com
Variveis locais so encontradas no subpalete Structures do palete Functions. Quando voc coloca uma varivel local no diagram, ele contm o nome padro (nome prrpio) do primeiro objeto que voc colocou no painel frontal. Voc usa uma varivel local selecionando primeiro o objeto que voc quer acessar. Voc pode ou clicar na varivel local com sua ferramenta de operao e selecionar o objeto, ou abrir a aba de local variable e selecionar Select Item. Em seguida,voc deve decidir ler ou escrever o objeto. Clique com o boto direito e escolha Change To Read ou Change to Write.
87
5. Clique com o boto direito do mouse no LED no diagrama de blocos e selecione Create Local Variable.
88
ni.com
7. Clique com o boto direito do mouse na varivel e selecione Change To Read. Isto signica que em vez de escrever dados na varivel ns iremos ler os dados j escritos nela
8. Repita o processo com o boto Stop. 9. Clique com o boto direito do mouse no boto Stop no painel frontal e mude a ao mecnica para Switch When Released. Variveis locais no guardam dados booleanos presos. O cdigo completo deve parecer com o seguinte:
10. Execute o VI. Veja como podemos controlar o LED e para os dois loops com um s controle. 11. Salve o VI.
(Fim do Exerccio)
89
Alm de variveis, h diversos outros mtodos de transferncia de dados entre loops paralelos. Isto obtido usando as funes Notifier e Queue. Notificadores podem ser usados para implementar modelos Mestre/ Escravo e Queues podem ser usados para implementar modelos Produtor/Consumidro. Ambos permite que programadores compartilhem dados entre loops. Selecione File New e navegue para VI From Template Frameworks Design Patterns para ver um resumo de ambos modelos.
90
ni.com
91
Selecione ViewShow Navigation Window para ver a janela. Use a janela para navegar por um grande painel frontal ou diagrama de blocos. Clique em uma rea da imagem na Navigation Window para mostra esta rea do painel frontal ou diagrama de blocos. Voce pode clicar e arrastar a imagem da Navigation Window para se deslocar pelo painel frontal ou diagrama de blocos.
92
ni.com
Projecto LabVIEW Use projectos para agrupar arquivos (danto do LabVIEW quanto de outros programas), criar especicaes de construo, e lanar ou baixar arquivos para alvos. Alvos so dispositivos ou maquinas onde uma VI executada. Quando voc salva um projeto, o LabVIEW cria um arquivo de projeto (.lvproj), que inclui informaes de conguraes, construo, e lanamento, referencias a arquivos, e muito mais. Voc deve usar um projeto para construir uma aplicao autnoma e bibliotecas compartilhadas. Voc deve usar um projeto, tambm, para trabalhar com RT, FPGA, ou PDA. Rera a mdulos especcos para mais informaes sobre como usar projetos com os mdulos de Real-Time, FPGA, e PDA. Drivers de Instrumentos Plug and Play para o LabVIEW usam as caractersticas de projetos e bibliotecas projetos no LabVIEW 8.0. Voc pode usar drivers com estilo de projeto da mesma forma que os demais drivers Plug and Play do LabVIEW. Project Explorer Window Use a janela do Project Explorer para criar e editar projetos. Selecione FileNew Project para ver esta janela. Voc pode selecionar,tambm, ProjectNew Project ou selecionar FileNew e ai selecionar Empty Project na nova caixa de dialogos para ver a janela do Project Explorer.
93
Shared variables so usadas para compartilhar dados entre VIs ou entre lugares em uma aplicao que no podem ser conectadas com os. Existem dois tipos de variveis: Single Process: crie shared variables que voc quer ler e escrever em um nico computador. Network-published: crie shared variables que voc quer ler e escrever em computadores remotos da mesma rede. Estes shared variables devem estar dentro da biblioteca de projetos. Se voc criar uma shared variable de um alvo ou pasta que no estiver dentro da biblioteca, o LabVIEW cria uma nova biblioteca e coloca a shared variable dentro da mesma. Voc deve lanar a shared variable para que esta esteja disponvel em outros projetos e computadores remotos. Voc consegue fazer isto executando o VI que contm a shared variable. Voc pode tambm clicar com o boto direito do mouse na biblioteca do projeto e selecionar Deploy
94
ni.com
5. Na janela de congurao, nomei a varivel e selecione Boolean no Data Type. Deixe as demais opes com seus valores default e clique em OK.
95
6. Como Shared Variables precisam estar dentro de uma biblioteca, o LabVIEW cria uma. Salve esta biblioteca clicando com o boto direito do mouse e selecionando Save. 7. Shared Variables podem ser usadad facilmente clicando e arrastando elas do Project Explorer ao VI. Clique e arraste a Shared Variable que voc criou para o diagrama de blocos do Local Variable VI. 8. Delete a varivel local que controla o boto stop no segundo loop. 9. Coloque a varivel no segundo loop e ligue-a ao terminal de sada. 10. Coloque outra Shared Variable no primeiro loop. Esta Shared Variable ir escrever a informao que lida no segundo loop. 11. Mude a Shared Variable para escrever clicando com o boto direito do mouse e selecionando Change To Write, e ligue a shared variable de tal forma que o boto stop seja escrito dentro da. O cdigo completo deve parecer com o seguinte:
12. Renomei o VI selecionando File Save As e Rename. 13. Execute o VI. Veja que quando clicamos no boto Stop ambos os loops e o VI param. (Fim do Exerccio)
96
ni.com
97
Quando configuramos um sistema de teste frequentemente necessrio,misturar e combinar instrumentos de vrias categorias. H diversos tipos de instrumentos, incluindo instrumentos GPIB, seriais, modulares,modulares PXI, de acquiso de imagem,de controle de movimento, USB, Ethernet, portas paralelas e CAN. Quando voc usa um PC para comunicar com qualquer tipo de instrument voc deve estar famialirizado com as propriedades daquele instrumento, como por exemplo o protocolo de comunicao.
98
ni.com
GPIB, ou General Purpose Interface Bus, definido pelos padres ANSI/IEEE 488.1-1987 e 488.2-1992 e descreve uma interface padro para comunicao entre instrumentos e controladores de diversos fabricantes. Normalmente usado com instrumentos autnomos de bancada para controlar medidas e comunicar dados. Comunicao GPIB uma interface digital paralela de 8 bits com handshaking de 3 fios e pode alcanar taxas de transferencia de 1 Mbyte/s ou mais. Refira ao site de suporte da National Instruments para GPIB www.ni.com/support/gpibsupp.htm para mais informaes sobre GPIB.
99
Comunicao serial transmite dados entre um computador e um dispositivo perifrico. O protocolo de comunicao serial usa transmissores para enviar dados um bit por vez em uma nica linha de comunicao para um receptor. Este mtodo o melhor para taxas baixas de transferencia, ou quando precisamos transmitir dados a grandes distncias. Como a maioria dos computadores tem pelo menos uma porta serial, hardware adicional no necessrio. Quatro parmetros devem ser especificados para comunicao serial, taxa baud, bits de dados, bit de pariedade, e os bits de parada. Uma estrutura de caracateres transmite cada caracter como um bit inicial, seguido de um bit de dado como mostrado a cima para o caracter M. H diversos padres para portas seriais, estes, porm, so os mais comuns: RS-232 (ANSI/EIA-232 Standard) (mais popula) RS-422 (AIA RS-422A Standard) RS-485 (EIA-485 Standard)
100
ni.com
O Instrument I/O Assistant um VI Expresso do LabVIEW Express que pode ser usado para comunicar com instrumentos baseados em mensagens e converter respostas de dados crus para representao ASCII. Voc pode comunicar com um instrumento que usa uma interface serial, Ethernet, ou GPIB e deve ser usado quando o driver do instrumento no est disponvel. O Instrument I/O Assistant organiza a comunicao entre instrumentos em passos organizados. Para usar o Instrument I/O Assistant, coloque os passos em sequencia. Na medida que acrescentamos passos, ele aparecem na janela Step Sequence. O LabVIEW acrescenta terminais de entra e sada ao Instrument I/O Assistant Express VI no diagrama de blocos que correspondem aos dados recebidos do instrumento.
101
3. Abra um VI em branco da tela Getting Started. 4. Coloque o Instrument I/O Assistant no diagrama de blocos. Clique com o boto direito do mouse para abrir o palete de funes e selecione Instrument I/O Instrument I/O Assistant. 5. Abra a caixa de congurao Instrument I/O Assistant clicando duas vezes no cone caso a caixa no aparea. 6. Selecione COM1 da caixa Select an Instrument. 7. Clique em Add Step para criar um novo passo e selecione Query and Parse.
8. Congure o passo Query and Parse: a. Digite *IDN? No campo Enter a Command. b. Nomei a sada do Instrument I/O Assistant entrando com Loopback no campo Token name. c. Clique no boto Run this Step para executar o teste de loopback. d. Clique no boto Auto Parse para converter os dados crus para ASCII.
102
ni.com
9. Clique no boto OK para sair da janela de congurao e gerar o cdigo. 10. Clique com o boto direito do mouse na sada do string do Instrument I/O Assistant e crie um indicador. 11. Volte ao painel frontal e execute o VI. Observe o texto no indicador. Como estamos realizando um teste de loopback o texto do indicador deve ser o mesmo do comando que foi digitado no Instrument I/O Assistant. *IDN? um comando padro que retorna a informao do dispositivo, mas qualquer texto pode ser usado para um teste de loopback. 12. Salve e feche o VI.
(Fim do Exerccio)
103
Virtual Instrument Software Architecture (VISA) a base para os driveres de instrumentos do LabVIEW. VISA no traz diretamente a capacidade de programao de instrumentos, mas serve como um API de alto nvel que chama drivers de baixo nvel. VISA pode controlar VXI, GPIB, serial ou outros instrumentos baseados em computador e faz as chamadas corretas aos drivers dependendo do tipo de instrumento. No LabVIEW, VISA uma nica biblioteca de funes que se adapta a diferentes instrumentos, para que no seja necessrio usar paletes separados de E/S. A seguinte terminologia usada para programao com VISA: Resource Qualquer instrumento no sistema incluindo portas seriais e paralelas Session Canais de comunicao que so usados pelo VISA para identicar uma referencia especca para aquele instrumento. Instrument Descriptor Nome exato do instrumento (veja lista abaixo)
104
ni.com
Um driver de instrumento Plug and Play do LabVIEW um conjunto de VIs que controlam um instrumento programvel. Cada VI no driver corresponde a uma operao especfica do instrumento, como configurao, triggering e leitura de medidas. Isto reduz drasticamente o tempo de desenvolvimento permitindo que voc use o instrumento no LabVIEW sem conhecimento profundo de seu protocolo de comunicao. Abaixo temos um exemplo de um driver de instrumento para o Agilent 34401 digital multimeter (DMM) que inicializa, configura, le e mede, fecha a seso de medidas com o instrumento e verifica se houveram erros.
105
A maioria dos drivers de instrumentos Plug and Play do LabVIEW so encontrados no Instrument Driver Finder dentro do LabVIEW, que pode ser acessado clicando em Tools Instrumentation Find Instrument Drivers or Help Find Instrument Drivers. O Instrument Driver Finder se conecta a www.ni.com e encontra o driver do instrumento. O Finder permite que voc veja instrumentos conectados e drivers instalados, assim como fazer buscas de drivers por fabricante e palavras chaves.
106
ni.com
107
Hoje, cada vez mais, companias esto gerentes de contratao esto pedindo experiencia com LabVIEW em suas entrevistas. O programa de certicao foi construido em cima de uma srie de exames procionais. Certicao LabVIEW usado para validar experiencia e habilidades com LabVIEW para oportunidades de emprego e lances de projetos. O Certicado LabVIEW Associate Developer o primeiro passo de certicao em LabVIEW e demonstra uma fundao forte para usar o LabVIEW e seu ambiente.Como alunos, seu cerciado de Associate Developer diferencia suas habilidades com o LabVIEW para oportunidades de emprego e tambm traz reconhecimento de sua experiencia com o LabVIEW. O CLAD um exame de multipla escolha que dura uma hora e conduzido nos centros de teste Pearson VUE em diversos lugares do pais. O exame cobre vrios tpicos do ambiente LabVIEW incluindo conceitos de dataow, estruturas de programao, Tecnicas avanadas de E/S de arquivos, Pratica de programao Modular, Propriedades de VIs e referncias de controle. Pensando conseguir seu certicado CLAD? Faa o exame LabVIEW Fundamentals Exam gratuitamente online. Developer e Architect certicado em LabVIEW so certicados procionais que validam um conhecimento avanado de LabVIEW e experiencia em desenvolvimento de aplicaes. Adicionalmente, o certicado de arquiteto demonstra habilidades em liderar times de projetos e experiencia desenvolvendo grandes aplicaes.Estes exames, so provas prticas que duram quatro horas e so conduzidos pela National Instruments.
108
ni.com
Os produtos da Electronics Workbench so os softwares mais usados mundialmente no ensino de engenharia eltrica e eletrnica. Como a nica compania a desenvolver pordutos especicamente para o mercado educacional, nossos software tm se tornado a ferramenta principal de aprendizagem e ensino para milhares de educadores. MULTISIM SIMULAO E CAPTURE Multisim um programa de simulao e captura intuitive, com esquemtica arrasta -e-solta que permite que educadores e alunos criem circuitos completos rapidamente contendo tanto componentes analgicos quando digitais. MULTIMCU CO-SIMULAO DE MICROCONTROLADORES MultiMCU acrescenta uma unidade de co-simulao de microcontroladores ao Multisim, permitindo que voc inclua um MCU programado e cdigo de assembly, dentro de seu circuito modelado com SPICE (e VHDL opcional) modeled circuit. MULTIVHDL CO-SIMULAO DE VHDL MultiVHDLacrescenta capacidades patenteadas de co-simulao de VHDL co-simulao ao Multisim. Esta aplicao potente e fcil de usar perfeita para o ensino de programao de HDL, ou para incluir dispositivos programados em VHDL no seu projeto Multisim. ULTIBOARD PCB LAYOUT Ultiboard permite que alunos ganham exposio s implementaes fsicas e manufatruais de circuitos em PCBs. A esquemtica do Multisim pode ser importada para uma Ultiboard com um nico clique do mouse. ELECTRONICS CBT TREINAMENTO BASEADO NO COMPUTADOR Electronics CBT oferece uma introduo completa e autnoma eletrnica para auxiliar em suas palestras ou agir como pea central de seu curso. E-CBT repleto com mais de 400 exerccios e experimentos que rodam diretamente doambiente virtual do Multisim
109
ni.com
1. Multisim - Schematics Esquemtica simples de usar Simplesmente clique e arraste Partes animadas 3D Arraste fios sem quebrar conexes 2. Multisim breadboard Virtual tcnicas de Breadboarding Sincronizado com esquemtica Relatrio de fiao para o Elvis (step 5) 3. Multisim Simulao biblioteca de 13.000 partes 20 instrumentos virtuais Mudanas a toque de caixa Novo simulador de microcontroladores Partes Animadas (LEDs, e displays de 7-segmentos)
4. Ultiboard PCB Layout Integrado com Multisim Interface amigvel Vista 3D Checagem de regras de design Auto-roteamento embutido 5. Elvis Test Instrumentao Aquisio de dados Prototipagem 6. LabVIEW Compare Importe automaticamente: dados virtuais do Multisim dados reais do ELVIS Compare dados reais e ideais
110
ni.com
111
Solutions Section
Exerccio 1.2:
112
ni.com
Exerccio 2.1:
113
Exerccio 2.2:
Note: Waveform Graphs and Charts have been used interchangeably in Exerccio 3.2 and 3.3. Exerccio 2.2 Track A and B:
114
ni.com
Exerccio 2.3:
115
Exerccio 2.4:
Exerccio 2.4
116
ni.com
117
Exerccio 3.3:
118
ni.com
Exerccio 4.1:
Exerccio 4.1:
119
Exerccio 4.2:
Exerccio 4.2:
120
ni.com
Exerccio 5.1:
Exerccio 5.1:
121
Exerccio 6.1:
Exerccio 6.1:
122
ni.com