Múltiples enfoques de programación en LabVIEW de NI
NI LabVIEW es un entorno de programación gráfica de flujo de datos. Cuando el flujo de datos utilizando en LabVIEW, se define un flujo de ejecución de código mediante la creación de diagramas que muestran cómo los datos se mueven entre las funciones (conocidos como instrumentos virtuales, o VIs). Sin embargo, con LabVIEW, usted puede combinar múltiples enfoques de programación, además de flujo de datos gráfica (G) en una sola aplicación. El uso de esta flexibilidad para seleccionar la herramienta de elección para la creación de algoritmos y la resolución de una infinita variedad de problemas de ingeniería.
La definición de los enfoques de programación
"Enfoques de programación 'La frase abarca diferentes idiomas para la programación, modelos de computación, los niveles de abstracción, los métodos para interactuar con el código existente, y las formas de representación de algoritmos. Con los años, National Instruments ha añadido interfaces y métodos para la comunicación en LabVIEW para ampliar el número de enfoques que están disponibles.
Usted puede escribir y de importación enfoques múltiples en el diagrama de bloques correspondiente al idioma de flujo de datos familiares G. LabVIEW compila todos estos enfoques para el objetivo de hardware apropiado, que puede abarcar las computadoras de escritorio, sistemas operativos en tiempo real, arreglos de compuertas programables en campo (FPGAs), dispositivos móviles y procesadores integrados, tales como ARM.1
Envío y recepción de información entre los enfoques de programación es fácil en LabVIEW. El flujo de datos es el pegamento que une a diferentes idiomas y modelos computacionales juntos. los valores de la información y los datos pueden transmitirse de la interfaz de usuario personalizados (conocido como el panel frontal), interfaces de red, análisis de bibliotecas, bases de datos, y E / S a un idioma diferente o una interfaz con G.
Programación en G
El flujo de datos, el método fundamental de la programación de LabVIEW, era el original y único método de programación cuando se introdujo NI LabVIEW 1.0 en 1986. A diferencia de la programación secuencial de estilo, el flujo de datos en un programa de flujo de datos dicta cuándo y en qué orden, las operaciones se ejecutan. En los lenguajes secuenciales, tales como C y C + +, el orden de los comandos en el código fuente (en oposición a la disponibilidad de datos) determina el orden en que la ejecución se producirá.
G sigue un modelo de flujo de datos para ejecutar funciones y primitivas, o voluntarias. Una función de diagrama de bloque o nodo se ejecuta cuando todas sus entradas están disponibles. Cuando un nodo se completa la ejecución, que suministra datos a sus terminales de salida y pasa los datos de salida al siguiente nodo en la ruta de flujo de datos.
Uso de programación basado en configuración
En 2003, National Instruments lanzó NI LabVIEW 7 Express, que contó con Express VIs - una nueva tecnología diseñada para simplificar las tareas comunes de programación y la creación de algoritmo. A diferencia de VIs tradicionales, Express VIs resumieron las tareas, ofreciendo un enfoque basado en configuración a la programación.
LabVIEW Express VIs distingue con grandes iconos de color azul. Cuando se coloca un VI Express en el diagrama de bloque, aparece un diálogo para que pueda configurar la forma en la función se ejecuta. Después de completar la configuración, el entorno de desarrollo LabVIEW escribe el código necesario (representado por el VI Express) para usted. Usted puede ver y modificar el código, y puede cambiar la configuración del VI Express haciendo doble clic en el icono de Express VI.
Tenga en cuenta la tarea de leer las señales del mundo real en el software para el análisis. LabVIEW está diseñado para hacer de la integración con el hardware de E / S gracias simple y fácil de controladores nativos y el apoyo a miles de instrumentos. Sin embargo, una tarea que de otra manera tomaría un puñado de iniciativas voluntarias para la ejecución puede ser simplificado a una sola VI Express. El DAQ de Asistencia Express VI le pide que seleccione los canales que desea enviar y recibir E / S hacia y desde, y configurar parámetros como la frecuencia de muestreo, la configuración del terminal, escalas, disparo y sincronización. También puede ver los datos dentro de la interfaz antes de guardar la configuración.
Trabajar con. M Formato de archivo
Con el Módulo LabVIEW MathScript RT, puede importar, editar y ejecutar archivos. M, un enfoque de programación común para el análisis numérico, procesamiento de señales y matemáticas avanzadas. Mediante la combinación de ellos en un VI con G, puede crear estos scripts en ejecutables independientes que se ejecutan en una computadora de escritorio, así como el hardware en tiempo real determinístico.
Hay varias maneras de trabajar con MathScript en LabVIEW. Para una interfaz interactiva en la que puede cargar, guardar, desarrollar y ejecutar.
Para implementar. Scripts archivo m, como parte de una aplicación de LabVIEW y combinar la programación gráfica y de texto, puede utilizar el Nodo MathScript. Con el Nodo MathScript, que se muestra en la Figura 7 como la estructura azul en el diagrama de bloques, puede ejecutar. Scripts m archivo de programas de gráfica de LabVIEW. Usted puede utilizar el Nodo MathScript a los algoritmos de inserción de texto en un VI y luego usar el entorno de programación gráfica de LabVIEW para instrumentar las secuencias de comandos mediante la adición de botones, diapositivas, botones, gráficos y otros controles de usuario y los indicadores. El Nodo MathScript pueden utilizar funciones definidas por el usuario que se definen en otras partes de la solicitud, o se cargan desde el disco.
El Módulo LabVIEW MathScript RT añade nativos. Archivo m admite secuencias de comandos de LabVIEW sin necesidad de software adicional de terceros. Debido a que puede incluir y ejecutar. Scripts m con el Nodo MathScript, puede utilizar un enfoque de programación más utilizados al mismo tiempo aprovechando la estrecha integración con LabVIEW de E / S, una interfaz de usuario interactivo, y los otros métodos descritos aquí.
Uso de orientación a objetos
La orientación a objetos es un enfoque de programación más utilizados en una amplia variedad de lenguajes de programación. Permite una gran variedad de elementos similares, pero diferentes, que se representa como una clase de objetos en el software. La definición de clase incluye las características de cada objeto y las acciones que la clase es capaz de, a menudo descrito como propiedades y métodos. Las clases pueden tener hijos que heredan las propiedades y acciones, pero usted puede añadir más características o reemplazar los ya existentes.
Los desarrolladores de LabVIEW que se sienten más cómodos con un enfoque de programación orientado a objetos puede definir una clase en LabVIEW 8.2 o posterior. Las principales ventajas de utilizar una clase en LabVIEW son:
Encapsulación: Encapsulación es la consolidación de datos y métodos en una clase donde se puede acceder a los datos sólo a través de iniciativas voluntarias de clase-miembro. Con la encapsulación, puede crear bloques modulares de código que puede fácilmente actualizar o cambiar sin afectar otras secciones de código dentro de la aplicación.
La herencia: la herencia le permite utilizar una clase existente como punto de partida para una nueva clase. Si se crea una nueva clase de LabVIEW y la puso a heredar datos y VIs miembro de otra clase, la nueva clase puede utilizar el VIS miembros públicos y protegidos de la clase de las que hereda. También puede agregar sus propios datos y VIs miembros para aumentar su funcionalidad
Dinámica de envío: También puede definir los métodos de VIs múltiples con el mismo nombre en toda la jerarquía de clases. Estos se llaman dinámicas expedición métodos porque exactamente lo que uno de los conjunto de VIs de LabVIEW llamadas no se conoce hasta tiempo de ejecución.
Estas características la orientación a objetos, hacer cumplir las prácticas que hacen que el código sea más legible y escalable de acceso y limitar a la información a los VIs que se han concedido explícitamente el permiso. Este método de desarrollo es otra manera de representar los algoritmos y las operaciones con G, lo que le da la flexibilidad para elegir los diseños y metodologías que se siente más cómodo, y que estén en mejores condiciones para la aplicación.
Modelado y simulación de diagramas
simulación de sistemas físicos y modelado en el software es un enfoque popular si está diseñando un sistema complejo que puede ser descrito por una ecuación diferencial. Con él, usted puede analizar los modelos de aprender sobre las características del sistema dinámico y crear un controlador que logra el comportamiento deseado.
El lazo de control y simulación en la Figura 9 permite la ejecución determinista de una ecuación diferencial de acuerdo con el solucionador de diferenciales ordinarias - una variedad de los cuales están disponibles en LabVIEW. Este enfoque de programación utiliza un flujo de datos que es muy similar a la G, pero se describe mejor como el flujo de señal. Como se muestra en la Figura 9, puede combinar un enfoque de programación basado en modelos con otros métodos, incluyendo G y el Nodo MathScript.
El control y simulación del lazo compatible con las funciones que se utilizan para implementar discreto lineal invariante en el tiempo (LTI), modelos de sistemas de National Instruments hardware en tiempo real. Usted puede utilizar estas funciones para definir modelos discretos controlador en función de transferencia, cero ganancia de polo, o la forma de espacio de estado. Con el tiempo y las herramientas de análisis de frecuencia, tales como tiempo de respuesta de fase o diagrama de Bode, se puede analizar de forma interactiva abierta y el comportamiento a lazo cerrado. También puede utilizar las herramientas integradas para convertir sus modelos desarrollados en The MathWorks, Inc. Simulink ® software para trabajar con LabVIEW. stos sistemas dinámicos se pueden implementar en objetivos de hardware en tiempo real sin ningún tipo gracias a los pasos intermedios de LabVIEW Real-Time Module, que es muy apropiada para creación rápida de prototipos de control y aplicaciones de hardware en el bucle.
Documentar con Statecharts
El Módulo NI LabVIEW Statechart ofrece gráficos de estado, que son documentos de alto nivel de diseño que puede utilizar el esquema de la funcionalidad del sistema. Cuando se combina con el flujo de datos gráfica de LabVIEW para definir el comportamiento de cada estado, diagramas de estado puede funcionar como especificaciones ejecutables. Statecharts ampliar esquemas clásicos del estado para agregar la concurrencia y la jerarquía, por lo que puede describir los sistemas que contienen las tareas en paralelo. Además, añadir gráficos de estado de manera formal para responder a eventos, lo que es ideal para describir los sistemas reactivos. Esto es especialmente útil para el diseño de dispositivos integrados, sistemas de control e interfaces de usuario complejas.
A menudo se puede crear diagramas de alto nivel de bloque para ilustrar la relación de trabajo entre los distintos sistemas y subsistemas en una aplicación. Por ejemplo, una aplicación puede tener procesos separados, cada uno responsable de tareas tales como la adquisición de datos, salida de datos, comunicación en red, registro de datos y actualización de una interfaz de usuario. Estos diagramas se suelen utilizar para determinar qué información para facilitar e intercambiar entre los diferentes sistemas, y la lógica que dicta el orden en que se ejecutan. Usted puede traducir fácilmente estos diagramas en un diagrama de estado de LabVIEW, lo que facilita el desarrollo de sistemas del mundo real en el software.
El modelo de cómputo de gráficos de estado ofrece una sofisticada manera de abordar el desarrollo de aplicaciones complejas. Gráficos de estado son especialmente útiles para la programación de aplicaciones de respuesta a eventos tales como interfaces de usuario complejas y avanzadas máquinas de estado para implementar controladores de sistemas dinámicos, la lógica de control de la máquina, y los protocolos de comunicación digital.
Aprenda más sobre el Módulo NI LabVIEW Statechart.
VHDL Escribir para objetivos FPGA
Usted puede utilizar el Módulo LabVIEW FPGA para escribir el código que se ejecuta en un FPGA utilizando G. Sin embargo, como ocurre con los enfoques de programación anterior, es posible que desee reutilizar el código existente o tener la flexibilidad para elegir los medios de aplicación. La mayoría de las FPGAs se programan utilizando VHDL, un lenguaje de descripción de flujo de datos basado en texto. En lugar de volver a escribir de propiedad intelectual existentes (IP) de VHDL en G, puede importar el VHDL en su VI y el período de investigación de componentes de nivel (CLIP) Nodo.
El Nodo CLIP proporciona un marco para la importación de bienes externos FPGA intelectual (IP) en el Módulo LabVIEW FPGA. Un archivo de imagen en XML es normalmente requerido para cartografiar los IP de la interfaz a los valores que se pueden utilizar en un diagrama de bloque VI, pero LabVIEW incluye un CLIP Asistente para importación que crea esta interfaz de forma automática. En él se enumeran las entradas y salidas de propiedad intelectual en el proyecto de LabVIEW que usted puede arrastrar en el diagrama de bloques para su uso en la FPGA
Porque NI utiliza Xilinx FPGAs y la cadena de herramientas Xilinx como parte del Módulo LabVIEW FPGA, usted puede usar el generador central Xilinx para crear núcleos compatibles. También puede utilizar el Kit de desarrollo de Xilinx incorporado para crear cualquier tipo de microprocesador suave. Además, muchos vendedores de propiedad intelectual de terceros pueden proporcionar todo tipo de procesamiento de señales, las soluciones de autobús, o para núcleos específicos de la aplicación.
Aprenda más sobre el Módulo LabVIEW FPVA y el Nodo CLIP.
Sintaxis La incorporación de C-base
Usted puede incorporar sintaxis ejecutados secuencialmente basado en texto en un diagrama de bloque VI y una de varias técnicas. El Nodo Formula ofrece una estructura en línea que soporta una sintaxis similar a la programación C tradicional. Al igual que C, cada línea termina con un punto y coma y las variables deben tener un alcance definido.
La línea C nodo es similar a la del nodo Fórmula con el apoyo adicional y la funcionalidad para la programación de bajo nivel y los archivos de cabecera sin la sobrecarga de una llamada de función. Puede utilizar la línea C del nodo para cualquier código C, incluidas las directivas de montaje y # define, que sintácticamente está entre las llaves en un archivo de C.
La línea C nodo sólo está disponible para los objetivos que el uso genera código C. La línea C del nodo no es compatible con los objetivos de escritorio de Windows.
Interfaz con Asambleas Piedra
En lugar de importar el código fuente a un diagrama de bloques de LabVIEW, usted puede llamar a asambleas en construcción o reutilización construido aplicaciones de LabVIEW en otros entornos. Las aplicaciones escritas en LabVIEW puede reutilizar el código existente y algoritmos desarrollados en otros idiomas o enfoques de programación. Además, es posible que necesite crear un ensamblado de código de LabVIEW, que incluye la programación de los enfoques discutidos anteriormente, al ser llamado por un entorno diferente.
LabVIEW ofrece múltiples soluciones para ambos escenarios. LabVIEW puede llamar a código externo en archivos DLL o bibliotecas compartidas y el código expone a través de ActiveX o interfaces. NET. Además, se puede reutilizar código de LabVIEW en otros lenguajes de programación mediante la creación de un archivo DLL de LabVIEW o biblioteca compartida, o mediante el uso de ActiveX.
Si ya dispone de código C y la necesidad de volver a utilizarlo en LabVIEW, una técnica consiste en generar el código como un archivo DLL y lo llaman con la convocatoria de la colección de la función del nodo. De hecho, basado en su arquitectura de aplicaciones C, puede utilizar LabVIEW simple programación paralela para ejecutar dos o más actuales rutinas de C en paralelo sin la complejidad adicional de la programación multiproceso basados en C. Para realizar la importación de bibliotecas externas simple, LabVIEW incluye la importación, la biblioteca compartida de Asistente, que automáticamente crea o actualiza un contenedor de la colección del proyecto de LabVIEW VI para Windows. Dll, Mac OS. Archivo de marco, o Linux. Para las funciones de archivo.
La interconexión con la línea de comandos también es posible con la Exec.vi System, que proporciona interfaces específicas del sistema operativo para los ejecutables de llamada y otras bibliotecas de construir.
Tomando ventaja de la programación flexible
La combinación de enfoques de programación múltiples en un único entorno de desarrollo ofrece la ventaja de la reutilización de código existente y los algoritmos desarrollados en otros idiomas. También hace posible combinar sencillo, abstracciones de alto nivel con código de nivel inferior que le da más visibilidad y el control de su aplicación. Estas capas de abstracción representan operaciones altamente complejas en simples, fáciles de leer representaciones, pero se puede juntar con las funciones que le dan de bajo nivel de control sobre el comportamiento de aplicaciones e interfaces de hardware. Gracias a la estrecha integración con I / O, puede combinar estos enfoques con las señales del mundo real para tomar ventaja de la tecnología de hardware más recientes, como las CPUs multi-núcleo, FPGAs y procesadores integrados.
Para cualquier problema, hay varias formas de resolverlo - y LabVIEW le da la flexibilidad de elegir entre múltiples enfoques de programación.
http://www.ni.com/labview/whatis/programming-approaches/esa/