2008-10-22 25 views
6

Estoy aprendiendo a usar LabVIEW como parte de mi proyecto de honores, y me preguntaba qué ventajas tiene el lenguaje de programación gráfica sobre el textual.¿Por qué usar LabVIEW?

Respuesta

6

Todo se trata de los controladores del equipo y las capacidades del usuario. NI (Labview) tiene un conjunto bien soportado de controladores de equipos de laboratorio que se interconectan fácilmente. Un operador de prueba (no un desarrollador) necesita una interfaz gráfica con un gran botón verde/rojo de pase/falla. Implementé una automatización complicada a través de python en cygwin. Un desarrollador de Labview pudo invocar el sistema cygwin/python y los datos minaron los archivos de registro. Entonces puedes hacer ambas cosas. El sistema Python es portátil, mantenible, extensible, utilizable y lo mejor de todo, gratis.

6

He usado labview antes para calcular parámetros para sintonizar una máquina nMRI. Existen porque en teoría es más fácil para alguien con poca experiencia en el lenguaje de programación crear un programa. El flujo de control y las estructuras de decisión se pueden organizar gráficamente y pueden escribir en su fórmula donde lo deseen.

Para profesores y asistentes de laboratorio ... útil. Para desarrolladores de software reales ... sería más fácil escribir en otro idioma.

+0

Gracias por esto, pensé tanto :) – alex77

5

He utilizado LabView en el pasado, y para adquisición de datos, instrumentación virtual, etc. - no hay nada mejor. La última vez que lo usé fue hace 10 años, y nada de lo que he visto desde entonces ha coincidido con lo que era a mediados de los 90.

3

Algunas ventajas de LabVIEW en mi punto de vista son:

  • El built-in componentes de interfaz de usuario, tales como botones, gráficos, etc, literalmente, requieren ningún tipo de programación que sea; simplemente colóquelos en el panel frontal y los terminales de datos aparecen en el diagrama de bloques.

  • Hay una gran biblioteca de controladores para hardware de adquisición de datos e instrumentos de prueba. Si su tarea consiste básicamente en obtener datos desde y hacia estos y ponerle una interfaz de usuario, entonces puede lograrlo casi sin programación.

  • La ejecución en paralelo de múltiples tareas se maneja automáticamente: coloque dos bucles independientes en el diagrama y se ejecutarán simultáneamente. Esto es a menudo un requisito en las aplicaciones de adquisición y control de datos.

Mucha gente, incluyendo los desarrolladores de software reales '', sienten que el paradigma gráfica se adapte a su forma de pensar y visualizar su software mejor que la textual. Indudablemente, hay cosas que los lenguajes de texto son mejores para LabVIEW (cubiertos en otra discusión en este sitio) pero donde LabVIEW es adecuado es muy bueno para hacer el trabajo.

19

Para mí, el beneficio de LabVIEW no es gráfico versus textual.

Es flujo de datos frente a imperativo.

Dataflow programming se presta a la simultaneidad, porque su ejecución se modela como cuadros negros que se ejecutan cuando sus entradas son válidas, cuyas entradas/salidas están conectadas entre sí. Esto en oposición al estado implícito con una lista de instrucciones sobre cómo modificarlo. (Parafraseando ligeramente 'kipedia, el artículo vinculado arriba es mejor.)

Cada caja negra puede ejecutarse en un núcleo/procesador/nodo separado, lo que le da, efectivamente, concurrencia libre si organiza su programa a la manera del flujo de datos.

Desafortunadamente (y este es un paralizante desventaja de la programación de flujo de datos en general) la mejor manera de visualizar y editar programas de flujo de datos es gráfica, no textual. Esto hace que el uso de herramientas como control de revisión y generadores de código sea muy difícil.

La pregunta es: ¿los pros del flujo de datos superan los inconvenientes, para usted y su proyecto?

+4

Si bien esto es cierto para programas simples, Labview todavía tiene problemas de concurrencia cuando se están haciendo proyectos más grandes. Es fácil escribir involuntariamente un vi (método) que no es reentrante y tiene un gran problema de depuración. – num1

7

Una de las principales ventajas de la programación gráfica con LabVIEW es que el código fuente es muy similar a los diagramas de circuitos, por lo que es un lenguaje muy fácil de usar para los ingenieros eléctricos/electrónicos. Esta es una de las razones por las que LabVIEW se ha vuelto tan popular en los campos de adquisición de datos y automatización, donde los EE son abundantes.

Otra ventaja que encontré fue la velocidad bruta del desarrollo. Usted ensambla sus GUI desde una paleta de controles de panel frontal disponibles, muy similar a cómo lo hace en Visual Studio. El código fuente está escrito de manera similar, con muchos componentes predefinidos que puede ingresar desde los menús y unirlos.

Una tercera ventaja es la compatibilidad con el hardware. El negocio principal de National Instruments es el hardware de adquisición de datos, y hacen todo lo posible para asegurarse de que todos sus productos se puedan comunicar con el software LabVIEW directamente. Muchos otros proveedores de hardware en la industria de adquisición de datos y control de automatización están haciendo lo mismo.

1

Para mí todo se reduce a lo que te hace sentir cómodo, si te sientes cómodo con los idiomas basados ​​en texto, es probable que encuentres que Labview acaba de presentar otra curva de aprendizaje. A menos que tenga un objetivo específico para aprender y usar Labview, no veo sentido para su proyecto.

Por otro lado, si no se siente particularmente cómodo con los lenguajes basados ​​en texto, tiendo a opinar que es más fácil aprender y aprender de Labview, particularmente para los ingenieros que no son de software.

Uso los lenguajes basados ​​en texto para la ingeniería de prueba, así como Labview y TestStand con bastante frecuencia y para mí se trata más sobre quién más usará mi software que sobre mí. Algunas compañías tienen varias personas entrenadas en Labview y otras prefieren escribir en idiomas basados ​​en texto. La capacitación para otro idioma puede ser muy costosa a nivel de toda la empresa y cambia los requisitos de contratación para las posiciones dentro de una empresa, por lo que algunas empresas están virtualmente 'encerradas' en un paradigma u otro. Yo diría que su mejor apuesta si tiene la intención de trabajar en la industria es ser versado en ambos, de esa manera usted es flexible. Si ese es el caso y tienes tiempo para aprender, diría que trabajas en la que te resulta más cómodo y amplías tu conocimiento, para eso sirve la escuela, ¿verdad?