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.
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.
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 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.
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.
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 .
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.
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.
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:
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.
O LabVIEW está disponível para Windows desde a versão 2.5 (1992, Windows 3.1).
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 |
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.
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 |
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.