LabVIEW

linguagem de programação

O LabVIEW (acrónimo para Laboratory Virtual Instrument Engineering Workbench) é uma linguagem de programação gráfica originária da National Instruments. A primeira versão surgiu em 1986 para o Macintosh e atualmente existem também ambientes de desenvolvimento integrados para os sistemas operacionais Windows, Linux e Solaris.[1]:3

LabVIEW
Desenvolvedor National Instruments
Lançamento 1986
Sistema operacional Windows, Mac OS X, Linux
Gênero(s) Aquisição de dados, controle de instrumentos, automatização de testes, processamento de sinal, controle industrial, projeto embebido
Licença Proprietária
Página oficial ni.com/labview

Os principais campos de aplicação do LabVIEW são a realização de medições e a automação. A programação é feita de acordo com o modelo de fluxo de dados, o que oferece a esta linguagem vantagens para a aquisição de dados e para a sua manipulação.[2][3]

Os programas em LabVIEW são chamados de instrumentos virtuais ou, simplesmente, IVs. São compostos pelo painel frontal, que contém a interface, e pelo diagrama de blocos, que contém o código gráfico do programa. O programa não é processado por um interpretador, mas sim compilado. Deste modo a sua performance é comparável à exibida pelas linguagens de programação de alto nível. A linguagem gráfica do LabVIEW é chamada "G".[2][4]

Metodologia de programação editar

Os blocos de funções são designados por instrumentos virtuais. Isto é assim porque, em princípio, cada programa (Sub-IV) pode ser usado como sub-programa por qualquer outro ou pode, simplesmente, ser executado isoladamente. Devido à utilização do modelo do fluxo de dados, as chamadas recursivas não são possíveis, podendo-se, no entanto, conseguir esse efeito pela aplicação de algum esforço extra.[5]:1–2[6]

O programador liga IVs com linhas (arames) de ligação e define, deste modo, o fluxo de dados. Cada IV pode possuir entradas e/ou saídas. A execução de um IV começa quando todas as entradas estão disponíveis; os resultados do processamento são então colocados nas saídas assim que a execução do sub-programa tenha terminado. Desta forma, a ordem pela qual as tarefas são executadas é definida em função dos dados. Uma ordem pré-definida (por exemplo, "da esquerda para a direita") não existe.[7][8]

Uma importante consequência destas regras é a facilidade com que podem ser criados processos paralelos no LabVIEW. Os sub-IVs sem interdependência dos respectivos dados são processados em paralelo.[9][10]

Os sub-IVs que não possuem entradas são executados no início do programa. Se o sub-IV não possuir saídas, os dados resultantes são ignorados ou, então, usados pelo exterior: são escritos para o disco rígido ou para a rede, ou enviados para impressão. Da mesma forma, um sub-IV sem entradas pode receber dados provenientes de aparelhos periféricos ou pode gerar os seus próprios dados (um exemplo é um gerador de números aleatórios).[9][8]

Os sub-IVs podem estar interligados com muita complexidade. Muitas das funções próprias do LabVIEW são, por sua vez, IVs normais, que podem ser modificados pelo programador (o que não é recomendado). Todos os IVs se baseiam numa série de funções básicas, chamadas "primitivas", que não podem ser modificadas pelo programador (ao invés dos IVs).[9][8]

Muitos IVs e primitivas em LabVIEW são polimorfos, ou seja, a sua funcionalidade adapta-se ao tipos de dado que recebem. Por exemplo, a função Build-Array pode ser usada para a criação de quaisquer variáveis, ou seja, de strings, de inteiros e também de arrays e de clusters. Também é possível ao programador construir os seus próprios IVs polimorfos. No fundo, consistem de uma colecção de vários IVs com diferentes tipos de dados, entradas e saídas.[9][8]

Os dados podem ser ligadas ao Painel frontal através de manipuladores. Por exemplo, a inserção de números pode ser dependente de um manípulo e uma variável de saída booleana pode ser realizada por um LED colocado no painel.[9][8]

O painel frontal do LabVIEW é um meio confortável para construir programas com uma boa interface gráfica. O programador não necessita de escrever qualquer linha de código. A apresentação gráfica dos processos aumenta a facilidade de leitura e de utilização. Uma grande vantagem em relação às linguagens baseadas em texto é a facilidade com que se cria componentes que se executam paralelamente. Em projetos de grande dimensão, é muito importante planejar a sua estrutura desde o início (como acontece nas outras linguagens de programação).[9][8]

Desvantagens editar

As desvantagens do LabVIEW face à programação por texto são, essencialmente:[11][12]

  • Pequenas mudanças podem ocasionar profundas reestruturações do programa, uma vez que sempre que se insere um novo bloco é necessário voltar a ligar os fios e os símbolos para restabelecer o funcionamento.
  • Para evitar confusões de linhas é habitual introduzir mais variáveis do que aquelas que são estritamente necessárias, diminuindo-se assim a velocidade de programação e contrariando-se, de algum modo, o modelo de fluxo de dados.

Por um lado, é confortável programar sem código: mas não se deve esquecer que no LabVIEW é muito importante planejar muito bem o projecto antes de se passar à realização dos IVs.[11][12]

Referências

  1. Jeffrey., Travis (2006). LabVIEW for everyone : graphical programming made easy and fun. Kring, Jim. 3rd ed. Upper Saddle River, NJ: Prentice Hall. ISBN 0131856723. OCLC 67361308 
  2. a b Andrade, H.A.; Kovner, S. (novembro de 1998). «Software synthesis from dataflow models for G and LabVIEW/sup TM/»: 1705–1709 vol.2. doi:10.1109/ACSSC.1998.751616. Consultado em 27 de outubro de 2022 
  3. «What is LabVIEW? Graphical Programming for Test & Measurement». www.ni.com (em inglês). Consultado em 27 de outubro de 2022 
  4. «NI Releases Free Editions of Flagship Software: LabVIEW». www.businesswire.com (em inglês). 28 de abril de 2020. Consultado em 27 de outubro de 2022 
  5. Bress, Thomas J. (2013). Effective LabVIEW Programming. [S.l.]: NTS Press. ISBN 978-1-934891-08-7 
  6. «LabVIEW Community Edition». www.ni.com (em inglês). Consultado em 27 de outubro de 2022 
  7. «Product». www.ni.com (em inglês). Consultado em 27 de outubro de 2022 
  8. a b c d e f «What is LabVIEW? Graphical Programming for Test & Measurement». www.ni.com (em inglês). Consultado em 27 de outubro de 2022 
  9. a b c d e f «Software Configuration Management and LabVIEW». www.ni.com (em inglês). Consultado em 27 de outubro de 2022 
  10. «NI Community Edition Software Usage Details». www.ni.com (em inglês). Consultado em 27 de outubro de 2022 
  11. a b «Product Documentation - NI». www.ni.com. Consultado em 27 de outubro de 2022 
  12. a b «Configuring LabVIEW Source Code Control (SCC) for Use With Team Foundation Server (TFS) - NI». knowledge.ni.com. Consultado em 27 de outubro de 2022 

Ligações externas editar