LabVIEW

LabVIEW

Em formação
Desenvolvido por Instrumentos Nacionais
Primeira versão 1986
Última versão 2019 (Maio de 2019)
Sistema operacional Microsoft Windows , macOS e Linux
Meio Ambiente Windows , Mac OS , Linux
línguas Francês , inglês , alemão , japonês
Modelo Oficina de engenharia de software , Cadeia de aquisição , Processamento de sinais , Sistema integrado
Política de distribuição Vendido comercialmente
Licença Proprietário
Local na rede Internet www.ni.com/labview

O LabVIEW (uma contração do Laboratory Virtual Instrument Engineering Workbench) é o coração de uma plataforma de projeto de sistema de medição e controle, construída em um ambiente de desenvolvimento gráfico da National Instruments .

A linguagem gráfica usada nesta plataforma é chamada de "G". Originalmente criado no Apple Macintosh em 1986, o LabVIEW é usado principalmente para medições por aquisição de dados , para controle de instrumentos e para automação industrial. O desenvolvimento da plataforma está a executar diferentes sistemas operacionais como o Microsoft Windows , Linux e Mac OS X . O LabVIEW pode gerar código nesses sistemas operacionais, mas também em plataformas de tempo real , sistemas embarcados ou componentes FPGA reprogramáveis . Desde 2009, o LabVIEW tem evoluído a uma taxa de uma grande versão vintage por ano.

Software dedicado à programação instrumental

Os campos tradicionais de aplicação do LabVIEW são controle / comando, medição, instrumentação e também teste automatizado de um PC ( aquisição de dados , controle-comando , controle de instrumentos de medição, dispositivos experimentais, bancadas de teste). Esta vocação está consagrada em bibliotecas de funções especializadas ( GPIB , VXI , PXI , cartões de aquisição DAQ, processamento de dados, etc.), mas também pelas particularidades da linguagem G (paralelismo inerente à execução por fluxo de dados) e do ambiente de desenvolvimento ( drivers de dispositivo padrão, assistentes de instalação de hardware).

O conceito de instrumento virtual que deu nome ao LabVIEW (Laboratory Virtual Instrument Engineering Workbench), se manifesta pela permanência de uma interface gráfica para cada módulo (função) de um programa. Os controles e indicadores neste painel frontal são a interface por meio da qual o programa interage com o usuário (leitura de comandos e parâmetros, visualização de resultados). As funções de controle-comando das placas ou instrumentos constituem a interface pela qual o programa interage com a montagem.

Um programa LabVIEW, portanto, automatiza uma montagem associando vários dispositivos programáveis ​​e combina o acesso às funcionalidades desta montagem em uma única interface de usuário, um painel frontal real de um instrumento virtual.

Linguagem G: programação gráfica por fluxo de dados

Do diagrama ao programa

A linguagem de programação usada no LabVIEW, chamada G, funciona por fluxo de dados. A execução de um código é determinada por um esquema gráfico, o diagrama, que é o código-fonte . O programador conecta diferentes funções como ícones no diagrama por meio de fios traçados entre as terminações dos blocos de ícones. Cada thread propaga as variáveis do código e cada nó é executado assim que todas as entradas de uma função na forma de um ícone estão disponíveis.

A coloração da sintaxe , nascida como LabVIEW em meados de 1980, é especificada nos elementos de forma do diagrama do editor (espessura, padrões, símbolos) e geometria (tamanho, alinhamento, arranjo) que impactam fortemente a legibilidade, tanto para o bem quanto para o mal de acordo com cuidado do editor.

Esta forma de programação oferece uma habilidade intrínseca para descrever processos independentes e, portanto, o LabVIEW permite a execução de código em multitarefa . Em multicore máquinas , LabVIEW automaticamente distribui essas tarefas em diferentes núcleos, enquanto alavancar o multithreaded capacidade dos sistemas operacionais.

Os programas geralmente são executados no ambiente de desenvolvimento como parte de um desenvolvimento altamente iterativo . No entanto, as edições mais completas do sistema de desenvolvimento oferecem a possibilidade de criar arquivos executáveis ou instaladores de aplicativos para implantação em outras máquinas. Um runtime deve então ser instalado no sistema host junto com o arquivo executável real.

O instrumento virtual (VI), uma unidade estruturante do código

O diagrama de blocos do LabVIEW está vinculado a uma interface gráfica de usuário chamada painel frontal. Programas e sub - rotinas na forma de ícones são chamados de instrumentos virtuais (VIs), e os arquivos de origem salvos no disco têm a extensão do nome do arquivo.VI .

Cada VI possui três componentes: um diagrama de blocos que incorpora o código gráfico, um painel frontal personalizável pelo usuário e um painel de patch , que assume a aparência de um pequeno ícone quadrado.

Ao associar certos controles e indicadores no painel frontal do VI aos conectores em seu painel de conectores, o programador permite que um diagrama de blocos de chamada troque variáveis ​​com o VI na forma de fios. Uma vez que um VI tenha sido escrito, ele pode ser colocado e chamado no diagrama de blocos de outro VI, onde será representado por seu ícone e desempenhará o papel de uma sub - rotina , função ou procedimento (falamos de um subVI ). Como seu nome, um ícone VI deve ser personalizado com um desenho ou texto para tornar sua função explícita para revisores de código.

O painel frontal é construído usando objetos chamados controles e indicadores. Os controles são entradas usadas para inserir valores na tela e os sinalizadores são saídas usadas para exibir variáveis ​​ou resultados. Elementos decorativos (formas, texto livre, imagens ...) podem enriquecer visualmente a interface gráfica do usuário. Eles existem apenas na face frontal do VI. Os controles e indicadores, por outro lado, aparecem tanto no painel frontal como no diagrama ( terminal em forma de ícone) para que possam ser vinculados às operações que com eles trocam dados.

Finalmente, o diagrama contém estruturas de controle (loops, condições, eventos, sequência, etc.) para determinar a execução ou ordem das operações como em todas as linguagens de programação. Todos os objetos de comando, indicadores, funções, estruturas são acessíveis ao programador por meio de paletas, menus ou combinações de teclas do teclado ( Quick Drop ). Os ícones de função colocados no diagrama tornam-se nós interconectados por fios de entrada e saída. Por exemplo, a função de adição oferece dois conectores de entrada e um conector de saída para o resultado. Cada subVI em um programa maior retém a capacidade de ser executado de forma independente pelo usuário por meio de seu painel frontal.

Interesse da linguagem G para a programação de multiprocessos

Para o leitor, um programa em linguagem G é apresentado como um diagrama, o diagrama, que reúne vários ícones ligados por fios coloridos. Cada fio simboliza a passagem de um dado de uma fonte da qual sai (como resultado), para um destino onde entra (como um parâmetro).

Os diagramas da linguagem G, portanto, têm um significado muito diferente dos diagramas eletrônicos que às vezes evocam. Em um diagrama de blocos do LabVIEW, os dados não fluem pelo feed até que sejam gerados por seu ícone de origem. O ícone de destino não começará a ser executado até que todos os seus dados de entrada estejam disponíveis. Este modelo de agendamento de fluxo de dados determina a ordem de execução padrão dos processos do programa. Uma consequência importante desta regra é que os processos que não trocam dados são livres para rodar em paralelo. Esta propriedade da linguagem G facilita o desenvolvimento de aplicações multiprocessos , particularmente interessantes no âmbito do controle de sistemas reativos (embarcados ou não).

O projeto de programas em linguagem G mantém uma abordagem essencialmente procedimental. Combinada com a execução por fluxos de dados, essa abordagem oferece bons resultados no campo da instrumentação. É também o mais intuitivo para engenheiros ou pesquisadores que costumam estar mais familiarizados com protocolos experimentais do que com conceitos de computador.

Evolução da linguagem

O suporte para design orientado a objetos foi desenvolvido confidencialmente durante a década de 1990 no LabVIEW, para levar em 1999 ao marketing pela empresa sueca Endevo de um kit "GOOP", então suporte nativo de 2006. (versão 8.2). Muitos elementos são tratados por métodos e propriedades.

O conceito do projeto surgiu no editor a partir de 2005 (versão 8.0) para a configuração, em particular, dos novos alvos de compilação que se tornaram acessíveis naquela época (sistemas de tempo real, FPGAs, microprocessadores).

Desde 2018, a influência do Python é sentida com a possibilidade de chamar scripts nesta linguagem, daí o suporte nativo dos conceitos de conjunto e array associativo .

Força de intuitividade, necessidade de boas práticas

A programação gráfica do LabVIEW é popular entre os cientistas que não são da computação, que podem arrastar e soltar programas e interfaces gráficas virtuais que se assemelham aos painéis frontais de instrumentos de laboratório reais. Esta abordagem de programação para o desenvolvimento é suportada por um ambiente intuitivo, rico em documentação e exemplos.

A falta de rigor, conhecimento das boas práticas e das peculiaridades do compilador, no entanto, põe em risco a qualidade e o desempenho dos programas, como acontece com qualquer linguagem de programação. Para obter algoritmos mais complexos ou mais eficientes, o conhecimento aprofundado é decisivo (por exemplo, no gerenciamento de memória, que é alocado automaticamente por padrão, e no compilador). Ferramentas de engenharia de software também existem para criar aplicativos LabVIEW em grande escala como uma equipe.

História

Foi em 1986 que a primeira versão do LabVIEW, criada por Jeff Kodosky, foi lançada para Macintosh . Segue um trabalho incessante para melhorar o ambiente de programação (ergonomia do editor, suporte de novos conceitos, melhorias do compilador), mas também para adaptá-lo à evolução do seu ambiente de hardware (instrumentos, cartões de dados). Aquisição de dados, links de comunicação, alvos de compilação) e software (padrões de troca de dados, conectividade com outro software e outras linguagens de programação). Desde 2009, o LabVIEW tem evoluído a uma taxa de uma grande versão vintage por ano.

Em 2017, a National Instruments operou uma bifurcação estratégica e está desenvolvendo seu produto em dois ramos: o ramo "clássico" e o ramo "NXG" (Geração NeXt). O LabVIEW NXG é apontado como o futuro do LabVIEW. Dois anos após seu lançamento, a compatibilidade do LabVIEW NXG com outros produtos de software e hardware da National Instrument ainda estava atrás da indústria tradicional. Mas também oferece novos recursos exclusivos e a empresa está trabalhando para reverter o equilíbrio de poder entre as duas filiais.

Kits de ferramentas

Você pode estender a funcionalidade do LabVIEW adicionando kits de ferramentas que são distribuídos separadamente. A lista abaixo fornece um inventário não exaustivo de seus suplementos:

Compatibilidade com versões anteriores de VIs e plataformas suportadas

Compatibilidade com versões anteriores de VIs

Abrir um VI com uma versão mais antiga do LabVIEW do que a usada para produzi-lo geralmente não é possível. No entanto, cada versão pode salvar o código para um número limitado de versões anteriores, para que possa ser aberto nelas.

O código produzido no LabVIEW 6 pode ser aberto com qualquer versão mais recente do LabVIEW.

Compatibilidade com Windows

O LabVIEW está disponível para Windows desde a versão 2.5 (1992, Windows 3.1).

Compatibilidade com LabVIEW / Windows (tabela não exaustiva)
LabVIEW Win 95 Win NT Win 98 Me ganhe Win 2000 Win XP Win Vista Win 7 Win 8 Ganhe 10
5.1.1 (2000) X X X - X - - - - -
6.0.2 (2001) X X X - X - - - - -
6.1 (2002) X X X X X X - - - -
7.0 (2003) - X X X X X - - - -
7,1 (2004) - X - - X X - - - -
8.0.1 (2006) - - - - X X - - - -
8,2 (2006) - - - - X X - - - -
8.5.1 (2008) - - - - X X X - - -
8.6.1 (2008) - - - - X X X - - -
2009 - - - - X X X - - -
2009 SP1 - - - - X X X X - -
2010 - - - - - X X X - -
2010 SP1 - - - - - X X X - -
2011 - - - - - X X X - -
2011 SP1 - - - - - X X X - -
2012 - - - - - X X X - -
2012 SP1 - - - - - X (SP3) X X X -
2013 - - - - - X (SP3) X X X -
2013 SP1 - - - - - X (SP3) X X X -
2014 - - - - - X (SP3) X X X -
2014 SP1 - - - - - X (SP3) X X X -
2015 - - - - - X (SP3) X X X X
2015 SP1 - - - - - X (SP3) X X X (8,1) X
2016 - - - - - - - X X (8,1) X
2017 - - - - - - - X X (8,1) X
2018 - - - - - - - X X (8,1) X

Compatibilidade com Linux

O LabVIEW está disponível para Linux desde a versão 5.1 (1999). No entanto, sua compatibilidade permanece limitada, bem como a de kits de ferramentas e especialmente drivers de hardware, que devem ser verificados caso a caso.

Compatibilidade com LabVIEW / Linux (tabela não exaustiva)
LabVIEW para Linux Run-Time Engine Ambiente de desenvolvimento
2014 SP1 Linux kernel 2.4x, 2.6x ou 3.xe GNU C Library (glibc) Versão 2.5.1 ou posterior para arquitetura Intel x86 (32 bits); Kernel Linux 2.6x ou 3.x, e GNU C Library (glibc) Versão 2.5.1 ou posterior para arquitetura Intel x86_64 (64 bits) Red Hat Enterprise Linux Desktop + Workstation 6 ou superior; openSUSE 12.3 ou 13.1; Scientific Linux 6 ou superior
2015 SP1 Linux kernel 2.6x ou 3.x e GNU C Library (glibc) Versão 2.11 ou posterior para arquitetura Intel x86 (32 bits); Kernel Linux 2.6x ou 3.x, e GNU C Library (glibc) Versão 2.11 ou posterior para arquitetura Intel x86_64 (64 bits) Red Hat Enterprise Linux Desktop + Workstation 6.5 ou superior; openSUSE 13.2 ou Leap 42.1; Scientific Linux 6.5 ou superior
2016 Kernel Linux 2.6x ou 3.x, e GNU C Library (glibc) Versão 2.11 ou posterior para arquitetura Intel x86_64 Red Hat Enterprise Linux Desktop + Workstation 6.5 ou superior; openSUSE 13.2 ou LEAP 42.1; Scientific Linux 6.5 ou superior; CentOS 7
2017 SP1 Kernel Linux 2.6x ou 3.x, e GNU C Library (glibc) Versão 2.11 ou posterior para arquitetura Intel x86_64 openSUSE LEAP 42.1 e 42.2; Red Hat Enterprise Linux Desktop + Workstation 6.xe 7.x; Scientific Linux 6.x; CentOS 7
2018 SP1 Kernel Linux 2.6x ou 3.x, e GNU C Library (glibc) Versão 2.11 ou posterior para arquitetura Intel x86_64 openSUSE LEAP 15.0, 42.2 e 42.3; Red Hat Enterprise Linux Desktop + Workstation 6.xe 7.x; CentOS 7
2019 Kernel Linux 2.6x ou 3.x, e GNU C Library (glibc) Versão 2.11 ou posterior para arquitetura Intel x86_64 openSUSE Leap 42.3 e 15.0; Red Hat Enterprise Linux 7 e 8; CentOS 7 e 8

Alternativas ao LabVIEW

Em relação ao controle, teste e medição, podemos desenvolver com softwares como:

Obviamente, é possível programar software de teste e medição em todas as linguagens de programação sem se beneficiar das funções destinadas a este campo. O desenvolvimento vai demorar mais, mas pode ter o mérito de ser independente de um produto comercial e fechado.

Notas e referências

  1. "  http://www.ni.com/pdf/manuals/371780r.pdf  "
  2. “  LabVIEW Systems Design Software ,  ” em developerspez.com ,30 de junho de 2005(acessado em 11 de dezembro de 2016 )
  3. (em) Jeffrey Travis e Jim Kring, LabVIEW for Everyone: Graphical Programming Made Easy and Fun (3ª edição) , Upper Saddle River (Estados Unidos), Prentice Hall ,2006, 294  p. ( ISBN  0-13-185672-3 , leia online ) , O que exatamente é o LabVIEW e o que ele pode fazer por mim?
  4. “  Introdução ao LabVIEW> Programação gráfica ,  ” em ni.com (acessado em 3 de setembro de 2019 )
  5. (em) "  LabVIEW 2018 Help - Developing and Distributing an Application  " em ni.com (acessado em 3 de setembro de 2019 )
  6. (em) "  History of GOOP  " em https://labviewwiki.org/ ,15 de maio de 2014(acessado em 29 de agosto de 2019 )
  7. Notas de atualização do LabVIEW (8.2)
  8. (em) Jeffrey Travis e Jim Kring, LabVIEW for Everyone: Graphical Programming Made Easy and Fun (3ª edição) , Upper Saddle River (Estados Unidos), Prentice Hall ,2006, 294  p. ( ISBN  0-13-185672-3 , leia online ) , p.  Invocar nós
  9. Notas de atualização do LabVIEW 8.0
  10. Notas de atualização do LabVIEW 2018
  11. Notas de atualização do LabVIEW 2019
  12. (em) "  Por que usar o LabVIEW?  » , Em stackoverflow.com ,25 de janeiro de 2012(acessado em 29 de agosto de 2019 )
  13. (in) Peter A. Blume, The LabVIEW Style Book , Upper Saddle River (Estados Unidos), Prentice Hall ,2007, 372  p. ( ISBN  978-0-13-145835-2 )
  14. "  NI LabVIEW Compiler Fully Unveiled,  " em ni.com ,30 de julho de 2010(acessado em 29 de agosto de 2019 )
  15. (em) "  Engenharia de Software com LabVIEW  " em ni.com ,26 de agosto de 2019(acessado em 29 de agosto de 2019 )
  16. (em) "  Hall of Fame: 2002 Honor Roll  " em https://www.electronicdesign.com/ ,21 de outubro de 2002(acessado em 29 de agosto de 2019 )
  17. (em) "  LabVIEW Versions  " em labviewwiki.org (acessado em 3 de setembro de 2019 )
  18. Michael Guilloux, “  National Instruments Unveils LabVIEW NXG, Next Generation of LabVIEW,  ” em https://www.developpez.com/ ,29 de maio de 2017(acessado em 29 de agosto de 2019 )
  19. "  NI LabVIEW Toolkits ,  " em ni.com (acessado em 16 de dezembro de 2016 )
  20. "  LabVIEW Tools Network - Free NI Add-Ons ,  " em ni.com (acessado em 4 de setembro de 2019 )
  21. (em) Scott Hannahs, LabVIEW Version Compatibility Chart ( leia online )
  22. “  LabVIEW - Download Detail Page,  ” em ni.com (acessado em 3 de setembro de 2019 )
  23. “  LabVIEW and Windows Version Compatibility  ” em ni.com ,14 de junho de 2019(acessado em 3 de setembro de 2019 )
  24. (in) "  Download de produtos de software NI - LabVIEW - Consulte o arquivo Readme  " em ni.com (acessado em 3 de setembro de 2019 )

Veja também

Artigos relacionados

links externos