Pergunta

Estou aprendendo a usar LabVIEW como parte das minhas homenagens projeto e queria saber o que beneficia a linguagem de programação gráfica tem mais de um textual?

Foi útil?

Solução

É tudo sobre os motoristas de equipamentos e recursos de usuário. NI (Labview) tem um conjunto bem apoiado de motoristas de equipamentos de laboratório que são facilmente interligados. Um operador de teste (não é um desenvolvedor) precisa de um gui com um / pass vermelho grande botão verde / reprovação. Eu tenho implementado automação complicada via python em cygwin. A Labview desenvolvedor foi capaz de invocar o sistema cygwin / python e dados mina os arquivos de log. Assim, você pode fazer as duas coisas. O sistema de python é portátil, de fácil manutenção, extensível, utilizáveis ??e melhor de tudo, livre.

Outras dicas

Para mim, o benefício do LabVIEW não está na textual vs. gráfica.

É de fluxo de dados vs. imperativo.

Dataflow programação presta-se a concorrência, porque a sua execução é modelada como caixas pretas que executam quando suas entradas são válidas, cujas entradas / saídas estão ligados entre si. Isto em oposição ao estado implícito com uma lista de instruções sobre como modificá-lo. (Vagamente parafraseando 'kipedia, o artigo ligada acima é melhor.)

Cada caixa preta pode ser executado em um núcleo / processador / nó separado, que lhe dá, efetivamente, a simultaneidade livre se você organizar seu programa do caminho de fluxo de dados.

Infelizmente (e esta é uma incapacitante desvantagem para fluxo de dados de programação em geral) a melhor maneira de visualizar e programas de edição de fluxo de dados é gráfica, não textual. Isso torna o uso de ferramentas como o controle de revisão e geradores de código muito difícil.

A pergunta é: Será que os pros de fluxo de dados superam os contras, para você e seu projeto

Uma das principais vantagens para programação gráfica com LabVIEW é que o código fonte é muito semelhante ao diagramas de circuitos, por isso é uma linguagem muito fácil para elétricos / engenheiros eletrônicos para pegar. Esta é uma das razões que LabVIEW tornou-se tão popular na aquisição de dados e automação campos, onde EEs são abundantes.

Outra vantagem que eu encontrei foi a velocidade crua de desenvolvimento. Você montar suas interfaces gráficas de uma paleta de controles do painel frontal disponíveis, muito semelhante à forma como você fazê-lo em Visual Studio. O código-fonte é escrito de forma semelhante, com muitos componentes pré-definidos que você pode cair dentro de menus e arame juntos.

Uma terceira vantagem é a compatibilidade com hardware. National Instruments principal negócio é hardware de aquisição de dados, e eles vão para grandes comprimentos para se certificar de todos os seus produtos podem se comunicar com software LabVIEW em linha reta fora da caixa. Muitos outros fornecedores de hardware no setor de aquisição de dados e controle de automação estão fazendo o mesmo.

Eu usei labview antes para calcular parâmetros para sintonizar uma máquina NMRI. Eles existem porque, em teoria, é mais fácil para alguém com pouca experiência linguagem de programação criar um programa. As estruturas de fluxo e controle decisão pode ser arranjado graficamente e eles podem digitar seus da fórmula onde eles querem.

Para professores e assistentes de laboratório ... votos. Para desenvolvedores de software real ... seria mais fácil escrever em outro idioma.

Eu usei LabView no passado, e para aquisição de dados, instrumentação virtual, etc - não há nada melhor. A última vez que eu usei foi há 10 anos, e nada que eu vi desde combinou onde foi em meados dos anos 90.

Algumas vantagens do LabVIEW em minha opinião são:

  • A built-in componentes de interface do usuário, como botões, gráficos etc, literalmente, não necessitam de programação que seja; você acabou de colocá-los no painel frontal e os terminais de dados aparecem no diagrama de blocos.

  • Há uma grande biblioteca de drivers para hardware de aquisição de dados e instrumentos de teste. Se sua tarefa é basicamente sobre a obtenção de dados de e para estes e colocar uma interface de usuário sobre ele, então você pode conseguir isso com quase nenhuma programação.

  • A execução paralela de múltiplas tarefas é feita automaticamente - lugar duas voltas independentes sobre o diagrama e eles vão executar simultaneamente. Isso é muitas vezes uma exigência em aplicações de controle e aquisição de dados.

Muitas pessoas, incluindo desenvolvedores de software reais ", sensação de que os ternos de paradigma gráficas a maneira de pensar e visualizar o seu software melhor do que o textual. Há, sem dúvida, coisas que linguagens de texto são melhores para que o LabVIEW (coberto em outra discussão neste site) mas onde LabVIEW é adequado, é muito bom em fazer o trabalho.

Para mim, se resume ao que você está confortável com, se você está confortável em linguagens baseadas em texto, você provavelmente vai descobrir que Labview apenas introduz uma outra curva de aprendizagem. A menos que você tem um objetivo específico para aprender e utilizar o LabVIEW vejo nenhum ponto para seu projeto.

Por outro lado, se você não é particularmente confortável em linguagens baseadas em texto, eu tendem a ter a opinião que Labview é mais fácil de pegar e aprender, particularmente para engenheiros não de software.

Eu uso linguagens baseadas em texto para a engenharia de teste, bem como Labview e TestStand muitas vezes e para mim é mais sobre quem mais vai usar o meu software do que é sobre mim. Algumas empresas têm vários indivíduos Labview treinados e outros preferem escrever em linguagens baseadas em texto. Treinando para uma outra língua pode ser muito caro em uma escala de toda a empresa e muda os requisitos de contratação para posições dentro de uma empresa, para algumas empresas são praticamente 'locked-in' para um ou outro paradigma. Eu diria que sua melhor aposta se você pretende trabalhar na indústria deve ser versado em ambos, de que maneira você são flexíveis. Se for esse o caso e você tem o tempo para aprender tanto, eu diria que o trabalho no que você está menos confortável com e expandir sua amplitude de conhecimento, que é o que a escola é para certo?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top