LabWindows CVI que es?

Entorno de desarrollo integrado para el lenguaje C enfocado en la realización de sistemas de control, prueba, medición, instrumentación, simulación, análisis matemática y mecatrónica . Así pues, es posible aprovecharse a la vez de la potencia y la precisión de lenguaje C y también de las bibliotecas de funciones dedicadas a la instrumentación y al tratamiento de la señal de Nacional Instrumentos. LabWindows/CVI ofrece lo mismo que LabVIEW pero con la fuerza y aventajas del lenguaje C (ver el articulo “Measurement Studio” para usar el lenguaje C++, C# o visual basic).

Con LabWindows/CVI, se puede desarrollar:

  • Software para Windows (exe), UNIX o Linux,
  • Librerías (DLL, Activo X, .NET),
  • Controles de instrumentos,
  • Objetivos embarcados,
  • Tiempo real.

Las ventajas de LabWindows/CVI

Utilizar a LabWindows/CVI es la garantía de un desarrollo sólido y de una solución perenne. Observe más bien las siguientes ventajas:

  • controles gráficos especializados para la industria y la medición científica,
  • desarrollo simplificado de interfaz gráfica de usuario,
  • funciones de análisis y tratamientos integradas,
  • acceso a los instrumentos facilitado gracias a la funciones dedicadas y a los asistentes,
  • programación en lenguaje C, lenguaje con potencia, conocido por todos (todas las escuelas de ingenieros y técnicos lo enseñan),
  • acceso al SDK de Windows para la evolución muy específica.

Entorno de desarrollo integrado (IDE)

La interfaz del entorno de desarrollo de LabWindows/CVI es similar a los otros IDE, como Visual Studio por ejemplo.

Interfaz del entorno de desarrollo de LabWindows/CVI, aquí con el editor de código C

El contiene las funciones que nos gustamos tener:

  • un panel de proyectos (izquierda superior) que contiene una arborescencia del o de los proyectos afectados por el desarrollo y sus archivos;
  • un panel de las librerías y drivers de instrumentos (izquierda inferior)
  • un panel principal multi-usos :
    • editor de los archivos de código C (como en la ilustración arriba) con coloreado de sintaxis, complemento automático de instrucciones,…
    • editor de interfaz gráfica (como la ilustración de abajo)
    • editor de “function panel” (ayuda a la programación y documentación para el uso de los drivers y otros componentes de software)
    • navegador de código de fuente
    • watch y view de las variables con visualización avanzada: por ejemplo se puede ver las vectores (array)  numéricos en forma de gráficos
    • lista de los módulos cargados en memoria (DLL para Windows) durante la ejecución del código de fuente
    • lista de los hilos de ejecución (threads)
    • lista de la pila de funciones
    • editor de la memoria
Interfaz del entorno de desarrollo de LabWindows/CVI, aquí el editor de interfaz gráfica

Librerías

Navegando por el menú de las bibliotecas (véase en contra), observamos la presencia de lo que se necesita para desarrollar aplicaciones modernas, pero muchas funciones para:

  • la comunicación con la tarjetas de adquisiciones (traditional NI-DAQ y NI-DAQmx),
  • el apoyo de los protocolos y estándares utilizados en la instrumentación (VXIGPIBRS-232CAN, VISA, IVI),
  • el intercambio de datos a través de la red (TCP, UDP, Internet, Network Variable),
  • la comunicación con otros componentes de software (DDE, ActiveX, DIAdem Connectivity, .NET)
  • el almacenamiento masivo de datos (TDM Streaming)
  • programación en tiempo real (Real-Time Utility)
  • tratamiento y análisis de los datos (Advanced Analysis)
  • los asistentes para el uso de las funciones del lenguaje C (AINSI C),
  • el tratamientos simplificado de las cadenas de caracteres y archivos (Formatting and I/O),
  • la gestión de interfaces gráficas (User Interface)

Asistentes

LabWindows/CVI también tiene varios asistentes (véase en contra) que facilitará en gran medida el desarrollo de aplicaciones industriales y científicas:

  • creación de tareas para comunicarse con un instrumento,
  • creación de tareas para la adquisición,
  • creación de drivers IVI.

sino también asistentes para la comunicación con otros componentes de software:

  • creación de controlador ActiveX
  • creación de servidor ActiveX
  • creación de controlador .NET