Você está na página 1de 4

1/4 www.ni.

com
1.
2.
3.
4.
5.
Os 5 maiores erros dos iniciantes em LabVIEW
Publicao: Jan 27, 2014
ndice
Exagerar no uso de Flat Sequence Structures
Utilizar as variveis locais da maneira errada
Ignorar a modularidade do cdigo
Criar diagramas de blocos enormes
Desconsiderar a necessidade de documentao
Apesar do software ajudar h muito tempo engenheiros e cientistas a desenvolver rapidamente aplicaes funcionais para medio e controle, nem todos os novos usurios seguem as LabVIEW
melhores prticas para programao em LabVIEW. A programao grfica do LabVIEW relativamente nica, e caso s melhores prticas de programao no forem utilizadas, isso rapidamente
percebido com uma rpida olhada na aplicao do usurio. Alguns deles cometem esses erros pelo fato de no compreenderem verdadeiramente as regras por trs do fluxo de dados no diagrama
do LabVIEW, enquanto outros apenas desconhecem os recursos desenvolvidos para melhorar a qualidade de um programa em LabVIEW.
Este artigo relembra os erros mais comuns de programao cometidos por programadores de LabVIEW inexperientes, acompanhados de recomendaes de quais seriam as abordagens corretas a
serem utilizadas no LabVIEW para cada caso.
Figura 1. Um cdigo repleto de erros de iniciantes em LabVIEW
1. Exagerar no uso de Flat Sequence Structures
Muitos novos programadores em LabVIEW no compreendem completamente os conceitos por trs da execuo do fluxo de dados, que fundamental para a programao em LabVIEW. Um
indcio disso que usurios comumente exageram no uso de flat sequence structures (estruturas de sequncia) em seus diagramas de blocos. Esses usurios frequentemente recorrem ao uso das
flat sequence structures para forar a execuo em srie, ao invs de utilizar o fluxo de dados atravs de fios entre os ns.

2/4 www.ni.com
Figura 2. Usurios frequentemente recorrem ao uso das flat sequence structures, ao invs de desenvolver uma compreenso completa dos conceitos de programao em fluxo de dados.

A programao em fluxo de dados significa que um n no diagrama de blocos (subVI, estrutura e demais funes) no ser executado at que todas as entradas necessrias estejam presentes.
Isso beneficia os programadores em LabVIEW, pois os processos independentes so naturalmente definidos para serem executados em paralelo, enquanto as linguagens imperativas requerem
uma configurao extra para a execuo em paralelo. Como os computadores continuam a aumentar a quantidade de CPUs, o LabVIEW automaticamente descarrega os processos em paralelo e
ganha desempenho de cdigo sem qualquer cdigo extra elaborado pelos seus usurios. Forar a execuo no diagrama de blocos exagerando no uso de flat sequence structures pode prejudicar
o paralelismo e anular seu benefcio. Limitar o uso de estruturas desnecessrias no diagrama de blocos auxilia na leitura geral e tambm deixa o programa menor.
Os fios de erro so uma tima maneira de forar o fluxo de dados no diagrama de blocos, at melhor do que confiar em flat sequence structures, e eles tambm beneficiam a estratgia de
gerenciamento de erros.

Quando eu devo utilizar uma Flat Sequence Structure?
Forar a execuo com uma flat sequence structure til para anlise do desempenho do cdigo. Utilizando uma flat sequence structure com um tick count em seu interior, voc pode determinar o
tempo que demorou para executar o cdigo entre dois tick counts. Isso no pode ser obtido com uma execuo normal de fluxo de dados.

Figura 3. Utilizar flat sequence structures e VIs de tick count til para anlise do cdigo.
Para mais informaes sobre programao de fluxo de dados, acesse o treinamento online autoguiado (ni.com/self-paced-training) e veja fluxo de dados do . O treinamento online LabVIEW Core 1
autoguiado gratuito para toda compra de LabVIEW ou para usurios atuais do Standard Service Program (ni.com/ssp).
2. Utilizar as variveis locais da maneira errada
Outro erro comum em programas desenvolvidos em LabVIEW o uso errado das variveis locais. As variveis locais so um trecho de memria compartilhada, utilizada para transferir dados entre
diferentes sees de um programa de computador. Comumente utilizadas em linguagens textuais, as variveis podem ser muito poderosas, mas tambm podem causar problemas quando ocorre
uma concorrncia (race condition).
Diferentemente de outras linguagens de programao, onde essencial a passagem de dados atravs de variveis, o LabVIEW fornece o mtodo de fluxo de dados, movendo os dados de uma
parte do programa para outra. O paralelismo inerente do LabVIEW torna o uso excessivo de variveis problemtico, pois a memria compartilhada frequentemente acessada por diferentes locais
do cdigo ao mesmo tempo. Se isso acontecer, uma operao de leitura/escrita vence a concorrncia e a outra perde. A operao que perde essa disputa esquecida, ento, exagerar no uso de
variveis no LabVIEW pode acabar resultando em perda de dados.
Voc pode transferir dados de maneira segura de uma parte para outra do programa do LabVIEW utilizando uma variedade de mtodos, incluindo fios, filas, eventos, notificadores, variveis globais
funcionais entre outros. Esses mecanismos so desenvolvidos individualmente para casos especficos, mas todos possuem a vantagem de eliminar a concorrncia de dados.
Para mais informaes sobre tcnicas apropriadas para transferir dados dentro do programa do LabVIEW, acesse o treinamento online autoguiado (ni.com/self-paced-training) e veja variveis
locais do LabVIEW Core 1 e notificadores, filas e eventos, do LabVIEW Core 2.
3. Ignorar a modularidade do cdigo
Com frequncia, os novos usurios do LabVIEW criam aplicaes de uso momentneo, para apenas cumprir tarefas simples e no pensam que podem reutilizar aquele cdigo no futuro. Assim que
os usurios comeam a programar com mais frequncia, eles acabam se flagrando reescrevendo o mesmo trecho de cdigo de novo e de novo. Voc pode economizar um grande tempo de
desenvolvimento criando subVIs modulares a partir de pores do seu cdigo, que podem ser reutilizados dentro de outras aplicaes.
Se voc sabe que uma parte especial do cdigo ser utilizada novamente na mesma aplicao ou tem a impresso que ela ser reutilizada em uma aplicao futura, ento invista um tempo extra
para transform-la em um subVI. Para preparar uma poro de cdigo para se tornar um subVI, as principais coisas de que precisa fazer acrescentar documentao, utilizar o connector pane e
desabilitar algumas propriedades do VI. Uma das maneiras mais simples de comear a criar um subVI selecionar uma parte do cdigo no diagrama de blocos e, ento, clicar em Edit>>Create
, a partir da barra de menus. Esse processo realiza automaticamente a insero da parte do cdigo selecionado em um VI separado e possvel utilizar o connector pane. Voc ainda SubVI
precisar editar o cone para que esteja adequado sua funo, adicionar documentao ao diagrama de blocos e s propriedades do VI, e desligar algumas propriedades, mas o caminho
3/4 www.ni.com
precisar editar o cone para que esteja adequado sua funo, adicionar documentao ao diagrama de blocos e s propriedades do VI, e desligar algumas propriedades, mas o caminho
um grande ponto de partida para a modularidade do cdigo. Edit>>Create SubVI
Figura 4. Voc pode economizar bastante tempo de desenvolvimento aplicando as prticas de modularidade de cdigo no LabVIEW.

A nica propriedade do VI que voc dever se assegurar que desligou quando est preparando o cdigo para reutilizao a de permitir a depurao ( ). Essa opo encontrada Allow Debugging
dentro das propriedades do VI ( ), dentro da categoria de execuo ( ). Depois que seu cdigo estiver completamente funcional e no precisar de recursos para File>>VI Properties Execution
depurao, como , desligue a opo de permitir a depurao, dentro das propriedades de execuo e execute seu VI novamente. Isso benfico, pois mais melhorias so Highlight Execution
adicionadas ao processo de compilao, ento sua aplicao poder ser executada de maneira mais rpida e o VI ter um tamanho em disco um pouco menor, pois o cdigo extra que habilita a
depurao foi retirado.
Para mais informaes sobre modularidade do cdigo, acesse o treinamento online autoguiado (ni.com/self-paced-training) e veja modularidade do . LabVIEW Core 1
4. Criar diagramas de blocos enormes
Muitos novos usurios do LabVIEW possuem diagramas de blocos que podem se tornar enormes. Algumas aplicaes so complexas e voc poder no evitar a criao de um grande diagrama
de blocos, mas isso pode indicar, tambm, uma falha na arquitetura de programao. Sem se basear em uma arquitetura, difcil conservar o programa ao longo do tempo e pode ser dispendioso
adicionar funcionalidades no futuro. Assim como construir uma base slida permite a construo de uma casa slida, uma boa arquitetura de programao fornece uma estrutura firme e segura
para construir sua aplicao.
As arquiteturas de software so frameworks comuns, as quais quase todos os programadores acham teis. Muitas das arquiteturas dentro do LabVIEW, como a do produtor/consumidor e mquinas
de estados, so similares quelas encontradas em outras linguagens de programao.
Compreender as arquiteturas do LabVIEW reduz o tempo de desenvolvimento e melhora a escalabilidade do cdigo. O LabVIEW 2012 tornou a compreenso das estruturas ainda mais fcil,
incluindo templates e exemplos de projeto em seu lanamento. Os templates explicam como funcionam as diferentes arquiteturas e quando elas devem ser utilizadas. Os exemplos de projeto so
aplicaes maiores construdas em cima dos templates e demonstram como esses recursos podem ser utilizados para atender aos desafios do mundo real. Voc pode conectar o hardware em um
exemplo de projeto e utiliz-lo como uma aplicao , se necessrio. Entretanto, ainda um cdigo aberto e bem documentado, assim voc pode customiz-lo para sua aplicao especfica. turnkey
Figura 5. Templates e exemplos de projeto disponveis no LabVIEW 2012 tornam a compreenso das arquiteturas de software mais fcil do que nunca.
Para mais informaes sobre as arquiteturas do LabVIEW, acesse o treinamento online autoguiado (ni.com/self-paced-training) e veja padres de projeto do LabVIEW Core 2
4/4 www.ni.com
5. Desconsiderar a necessidade de documentao
Tentar discernir o qu um programa desenvolvido por outra pessoa faz algo mais fcil quando h uma boa documentao do cdigo. Infelizmente, a documentao comumente deixada para o
final do processo de desenvolvimento, depois que a funcionalidade est completa, e isso faz com que o tempo reservado para documentar o cdigo apropriadamente seja muito curto. Ao invs
disso, o tempo deveria ser administrado ao longo do desenvolvimento, possibilitando realizar a documentao mais adequadamente.
A documentao beneficia muito a pessoa que desenvolve o cdigo quando ela mesma o consulta mais tarde e no consegue lembrar o raciocnio quando escolhia certos aspectos de cdigo. Caf
e programao at tarde da noite, coisas comuns para programadores, podem ocasionar, mesmo sem inteno, perdas temporrias de memria. A documentao pode ajudar os programadores a
obter suas memrias de volta.
Em geral, a natureza grfica do LabVIEW torna a leitura de cdigo ainda mais simples que nos programas textuais, mas uma boa documentao pode reduzir o tempo necessrio para desvendar
um programa. O modo mais simples de acrescentar documentao ao seu diagrama de blocos utilizar os rtulos livres ( ). Adicione imagens ao copi-las para a rea de transferncia e free labels
col-las no diagrama de blocos. Imagens de sistemas fsicos ou frmulas matemticas podem ajudar os usurios a formular o contedo do cdigo no diagrama de blocos.

Figura 6. Um cdigo arquitetado e documentado apropriadamente ajuda outras pessoas a utilizarem o seu cdigo, mas tambm o ajuda a compreender seu prprio desenvolvimento.
.
Documentar o cdigo no serve apenas para reuso em bibliotecas, tambm deve ser feito para todo programa. Humanos aprendem muito mais sobre um assunto quando forados a ensinar aos
outros. Escrever a documentao fora essencialmente esse processo de ensino e pode ajudar os programadores a compreender melhor seu prprio cdigo.
Para mais informaes sobre documentao de cdigo, acesse o , e veja documentao de cdigo do LabVIEW Core 1. treinamento online autoguiado
O LabVIEW foi construdo para tornar os engenheiros e cientistas mais bem sucedidos ao enfrentar os grandes desafios do mundo. O benefcio de ter uma grande comunidade de programao
para engenheiros e cientistas que eles podem compartilhar seus conhecimentos com os demais. Se voc possui seu prprio erro como iniciante em LabVIEW e gostaria de compartilh-lo, por
favor, adicione seu depoimento na pgina . bit.ly/lvrookiemistakes
Para uma consulta mais aprofundada sobre esses erros de iniciantes em LabVIEW, fique ligado no . NI News