LabVIEW
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
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 | editar código-fonte]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 | editar código-fonte]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
- ↑ 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
- ↑ 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
- ↑ «What is LabVIEW? Graphical Programming for Test & Measurement». www.ni.com (em inglês). Consultado em 27 de outubro de 2022
- ↑ «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
- ↑ Bress, Thomas J. (2013). Effective LabVIEW Programming. [S.l.]: NTS Press. ISBN 978-1-934891-08-7
- ↑ «LabVIEW Community Edition». www.ni.com (em inglês). Consultado em 27 de outubro de 2022
- ↑ «Product». www.ni.com (em inglês). Consultado em 27 de outubro de 2022
- ↑ 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
- ↑ a b c d e f «Software Configuration Management and LabVIEW». www.ni.com (em inglês). Consultado em 27 de outubro de 2022
- ↑ «NI Community Edition Software Usage Details». www.ni.com (em inglês). Consultado em 27 de outubro de 2022
- ↑ a b «Product Documentation - NI». www.ni.com. Consultado em 27 de outubro de 2022
- ↑ 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 | editar código-fonte]- (em inglês) Página oficial do LabVIEW na National Instruments
- (em inglês) Ajuda do LabVIEW
- (em inglês) Comunidade do LabVIEW
- (em inglês) LabVIEW Advanced Virtual Architects (LAVA)- Comunidade Independente de usuários e fórum de discussões
- (em inglês) O LabVIEW Wiki
- (em chinês) LabVIEW360 -comunidade chinesa do LabVIEW
- (em inglês) OpenG - ferramentas em código aberto do LabVIEW.
- (em inglês) O LabVIEW Wiki
- (em inglês) Curso online grátis de LabVIEW - Esse curso foi escrito pela NI, e é hospedado pela Connexions.