L ab oratory   V irtual   I nstrument   E ngineering   W orkbench   Introdução ao João Kögler Escola Politécnica Universidade de São Paulo Agosto - 2008
 
Programa em LabVIEW    VI VI = Virtual Instrument    nome que se dá a um programa feito em LabVIEW Interface de Entrada / Saída Implementação do Algoritmo
Ambiente do LabVIEW Abrem-se 2 janelas: Painel Frontal     a Interface gráfica  de entrada/saída Diagrama de Blocos     onde fica o algoritmo Painel frontal Diagrama de blocos
Painel Frontal controles indicadores
Diagrama de Blocos conectores Estruturas de  controle
Ambiente de Desenvolvimento Linguagem gráfica de programação Maior eficiência  Mais rápido de se desenvolver Melhor retenção da estrutura Melhor visão de conjunto Visão clara das dependências entre processos e dados Orientação ao fluxo de dados fica explícita Independência entre threads fica explícita Separação da GUI (  Graphical User Interface  = Interface Gráfica de Usuário) e dos algoritmos
Separação entre a GUI e o algoritmo
Bibliotecas Estruturas de programação (Laços, Teste de condições, Variáveis locais e globais, etc) Funções Matemáticas (Álgebra linear – LAPACK / BLAS, Estatística e Probabilidades, EDOs, EDPs, Otimização, Funções especiais, Formula parsing, etc) Processamento de Sinais (Filtragem, Interpolação, Predição, Estimação, Análise Espectral, JTFA, Wavelets, Multirate, Análise ponto-a-ponto, Geradores, Janelas) Medidas e Instrumentos  (Interfaces com instrumentos, Drivers, Serial, GPIB, CAN, FieldBus, etc) Visão Computacional e Processamento de Imagens Comunicação e Conectividade (Sockets, Variáveis distribuidas, Sincronização, Filas, Semáforos, ActiveX, .NET, MULTISIM, Database, Port I/O,Perifericos, Registry, etc) Simulação e Controle (Time and Frequency domains, C.Estocastico, An. Espaço de Estados, Fuzzy, PID, PID analitico, Feedback, Preditores, Identificação, Solvers ) Automação, Real-Time, Mobilidade (FPGA, Embedded Systems, PDAs, Bluetooth,, Supervisórios, etc)
Interface Gráfica de Usuário -  Exemplo
Linguagem de Programação Gráfica   Exemplo: Construir um programa que Crie um vetor com 100 elementos Preenchido com dados aleatórios Acha o maior valor contido nesse vetor
O programa escrito no  LabVIEW
#include <stdio.h> #include <math.h> main( ) { double num[100], max; int i;  // Preenche vetor com números aleatórios   printf(&quot;O vetor de numeros aleatorios:\n\n&quot;); for(i=0; i<100, i++){ num[i]=(double) rand( ) ; printf(&quot;%f\n&quot;, num[i]); } // Acha o valor máximo contido no vetor  max=0; for(i=0; i<100, i++){ if(num[i] > max) max = num[i]; } printf(&quot;\nValor Maximo: %f\n&quot;, max); }  O  mesmo programa em linguagem  C
#include <stdio.h> #include <math.h> main( ) { double num[100], max; int i;  // Preenche vetor com números aleatórios   printf(&quot;O vetor de numeros aleatorios:\n\n&quot;); for(i=0; i<100, i++){ num[i]=(double) rand( ) ; printf(&quot;%f\n&quot;, num[i]); } // Acha o valor máximo contido no vetor  max=0; for(i=0; i<100, i++){ if(num[i] > max) max = num[i]; } printf(&quot;\nValor Maximo: %f\n&quot;, max); }

Labview Intro

  • 1.
    L ab oratory V irtual I nstrument E ngineering W orkbench Introdução ao João Kögler Escola Politécnica Universidade de São Paulo Agosto - 2008
  • 2.
  • 3.
    Programa em LabVIEW  VI VI = Virtual Instrument  nome que se dá a um programa feito em LabVIEW Interface de Entrada / Saída Implementação do Algoritmo
  • 4.
    Ambiente do LabVIEWAbrem-se 2 janelas: Painel Frontal  a Interface gráfica de entrada/saída Diagrama de Blocos  onde fica o algoritmo Painel frontal Diagrama de blocos
  • 5.
  • 6.
    Diagrama de Blocosconectores Estruturas de controle
  • 7.
    Ambiente de DesenvolvimentoLinguagem gráfica de programação Maior eficiência Mais rápido de se desenvolver Melhor retenção da estrutura Melhor visão de conjunto Visão clara das dependências entre processos e dados Orientação ao fluxo de dados fica explícita Independência entre threads fica explícita Separação da GUI ( Graphical User Interface = Interface Gráfica de Usuário) e dos algoritmos
  • 8.
    Separação entre aGUI e o algoritmo
  • 9.
    Bibliotecas Estruturas deprogramação (Laços, Teste de condições, Variáveis locais e globais, etc) Funções Matemáticas (Álgebra linear – LAPACK / BLAS, Estatística e Probabilidades, EDOs, EDPs, Otimização, Funções especiais, Formula parsing, etc) Processamento de Sinais (Filtragem, Interpolação, Predição, Estimação, Análise Espectral, JTFA, Wavelets, Multirate, Análise ponto-a-ponto, Geradores, Janelas) Medidas e Instrumentos (Interfaces com instrumentos, Drivers, Serial, GPIB, CAN, FieldBus, etc) Visão Computacional e Processamento de Imagens Comunicação e Conectividade (Sockets, Variáveis distribuidas, Sincronização, Filas, Semáforos, ActiveX, .NET, MULTISIM, Database, Port I/O,Perifericos, Registry, etc) Simulação e Controle (Time and Frequency domains, C.Estocastico, An. Espaço de Estados, Fuzzy, PID, PID analitico, Feedback, Preditores, Identificação, Solvers ) Automação, Real-Time, Mobilidade (FPGA, Embedded Systems, PDAs, Bluetooth,, Supervisórios, etc)
  • 10.
    Interface Gráfica deUsuário - Exemplo
  • 11.
    Linguagem de ProgramaçãoGráfica Exemplo: Construir um programa que Crie um vetor com 100 elementos Preenchido com dados aleatórios Acha o maior valor contido nesse vetor
  • 12.
  • 13.
    #include <stdio.h> #include<math.h> main( ) { double num[100], max; int i; // Preenche vetor com números aleatórios printf(&quot;O vetor de numeros aleatorios:\n\n&quot;); for(i=0; i<100, i++){ num[i]=(double) rand( ) ; printf(&quot;%f\n&quot;, num[i]); } // Acha o valor máximo contido no vetor max=0; for(i=0; i<100, i++){ if(num[i] > max) max = num[i]; } printf(&quot;\nValor Maximo: %f\n&quot;, max); } O mesmo programa em linguagem C
  • 14.
    #include <stdio.h> #include<math.h> main( ) { double num[100], max; int i; // Preenche vetor com números aleatórios printf(&quot;O vetor de numeros aleatorios:\n\n&quot;); for(i=0; i<100, i++){ num[i]=(double) rand( ) ; printf(&quot;%f\n&quot;, num[i]); } // Acha o valor máximo contido no vetor max=0; for(i=0; i<100, i++){ if(num[i] > max) max = num[i]; } printf(&quot;\nValor Maximo: %f\n&quot;, max); }