# LabWindows/CVI

LabWindows/CVI es un entorno de desarrollo integrado para el lenguaje C enfocado en el desarrollo de programas de prueba, medida y control gracias a la instrumentación virtual (en inglés, CVI: acrónimo de «C for Virtual Instrumentation»). LabWindows/CVI es un producto de National Instruments.

## Generalidades

LabWindows/CVI permite concebir aplicaciones de adquisición de datos, así como de las interfaces gráficas permitiendo almacenar y analizar estos datos. Este programa es muy similar a LabVIEW con lo cual comparte las funcionalidades, pero se programa en lenguaje C. Sus intereses son:
* la utilización en lenguaje C de las funcionalidades de instrumentación, análisis, medida y control de National Instruments,
* la simplificación de desarrollo de las interfaces gráficas,
* la presencia de ayudantes facilita la programación de pilotos de instrumentos y de adquisiciones de datos,
* el acceso a todo el SDK de Windows win32 y así a una paleta ancha de posibilidades de programación.
Este entorno de desarrollo integrado funciona bajo Windows y se lleva también bajo Unix. Las bibliotecas especializadas en prueba, medida y control de National Instruments son también accesibles para la programación en C++, C# o Visual Basic gracias a Measurement Studio.

## Historia

Es en 1987 que la primera versión se realiza bajo DOS, entonces se nombra a simplemente LabWindows. Será llevado a continuación bajo Windows y renombrado LabWindows/CVI. La lista siguiente indica las versiones principales del programa informático así como sus nuevas funciones:
* 1989: LabWindows 1.0, bajo DOS, primera versión pública.
* 1991: LabWindows 2.0, bajo DOS, ayuda al desarrollo de interfaces gráficas de usuario.
* 1994: LabWindows/CVI 3.0, bajo Windows 3.1 y Solaris.
* 1995: LabWindows/CVI 3.1, generación automática de código.
* 1996: LabWindows/CVI 4.0, mayor compatibilidad con los compiladores externos (Microsoft, Borland, Watcom y Symantec).
* 1998: LabWindows/CVI 5.0, compatibilidad VXI e IVI.
* 2000: LabWindows/CVI 5.5, librerías de funciones multitarea.
* 2001: LabWindows/CVI 6.0, ActiveX y mejora de la interfaz gráfica de usuario.
* 2003: LabWindows/CVI 7.0, integración de los workspaces.
* 2004: LabWindows/CVI 7.1, terminación automática.
* 2005: LabWindows/CVI 8.0, nuevo sistema de desarrollo, .NET assemblies.
* 2006: LabWindows/CVI 8.1, variables de red, controles gráficos del estilo Windows.
* 2007: LabWindows/CVI 8.5, mejora de la gestión del microprocesador multinúcleo, edición del código durante el modo debug (modo depuración), conjunto de herramientas (toolkit) para desarrollo de aplicaciones de tipo tiempo real.
* 2008: LabWindows/CVI 9.0, gestor de memoria y compilación optimizada, C ANSI versión 99 (en particular, los arrays dinámicos).

## Toolkits

* Real Time: programación para componentes dedicados al tiempo real
* Signal Processing: tratamiento avanzado de la señal
* Vision: tratamiento de las imágenes, reconocimiento de formas, OCR
* PID Control: funciones para el control
* SPC: herramientas de control estadístico de los procesos para Solaris
* Enterprise Connectivity: control estadístico de los procesos, comunicación con las bases de datos y publicación Internet