LabWindows/CVI es un entorno de desarrollo integrado que incluye un editor y compilador de C, librerías de funciones y un editor de interfaces de usuario. Permite crear aplicaciones con interfaz gráfico, programa de control en C y archivo de proyecto. Incluye ventanas para editar código, ejecutar funciones y diseñar interfaces, así como controles y paneles para la entrada, salida y representación de datos.
1. LabWindows/CVI Entorno de desarrollo integrado formado por: Editor y compilador de lenguaje C Librerías de funciones Editor de interfaces de usuario Paneles de funciones para la ejecución interactiva y generación de código Ejecución por Run-time
2. LabWindows/CVI - Elementos de una aplicación: Interface grafico de usuario ( .uir ) Programa de control que coordina la adquisicion, el analisis y el interface en lenguaje C ( .c ) Gestión de la aplicacion con un archivo de proyecto (. prj )
3. LabWindows/CVI Entorno de LabWindows ( I ) 1) Ventana de proyectos PROJECT utilizada para editar y construir las aplicaciones completas llamadas proyectos
4. LabWindows/CVI Entorno de LabWindows ( II ) 2) Ventana de código SOURCE: utilizada para editar y depurar el código en C
5. LabWindows/CVI Entorno de LabWindows ( III ) 3) Panel de funciones Function Panel: para la ejecución interactiva y generación automática del código de una función
6. LabWindows/CVI Entorno de LabWindows 4) Ventanas Watch: visualización de cualquier variable del programa se activa con posicionamiento el cursor sobre la variable inspeccionar CTRL+F7
7. LabWindows/CVI Entorno de LabWindows ( V ) 4) Ventana User Interface Editor: diseño y composición del interface de usuario
10. LabWindows/CVI Desarrollo de aplicaciones: Diseño del interface gráfico Atributo CONSTANT NAME: -Tanto el panel como los controles que contiene deben tener asignados un identificador dentro del programa. En concreto el id para las ventanas es por defecto PANEL y es referenciado en la carga del panel: Hd= Loadpanel(0,”practica1.uir”,PANEL); DisplayPanel (Hd); Hd es el manejador y la dirección de memoria de carga del panel. -Cuando queremos referenciar los controles de un panel para poder leer o modificar alguno de sus valores o características se sigue la regla siguiente: PANEL_NOMBRECONTROL p.ej: PANEL_ADQUIRIR
11. LabWindows/CVI Atributo CONSTANT NAME: Las constantes asignadas se encuentran almacenadas en un fichero de cabecera (.H)que tiene el mismo nombre que el proyecto, y que es generado de forma automática.
12. LabWindows/CVI Atributo CONTROL MODE (Modo de control) Normal:el usuario puede operar sobre el control desde la ventana y también se puede modificar por programa. Hot: el control genera un evento cuando es activado y se ejecuta la función callback asociada. Indicator: El control sólo puede modificarse por programa. Sirve para presentación de datos.
13. LabWindows/CVI Relación de eventos: EVENT_NONE EVENT_COMMIT EVENT_VAL_CHANGED EVENT_IDLE EVENT_LEFT_CLICK EVENT_LEFT_DOUBLE_CLICK EVENT_RIGHT_CLICK EVENT_RIGHT_DOUBLE_CLICK EVENT_KEYPRESS EVENT_PANEL_MOVE EVENT_PANEL_SIZE EVENT_GOT_FOCUS EVENT_LOST_FOCUS EVENT_CLOSE Los marcados en negro son los que más utilizaremos
14. LabWindows/CVI Actualización de controles: Podremos tener controles que podrán ser de entrada, salida o entrada/salida de datos. Para la lectura y escritura del valor de un control se emplean las funciones: GetCtrlVal ( handle,PANEL_CONTROL, &var ) SetCtrlVal ( handle,PANEL_CONTROL, var )
15. LabWindows/CVI Actualización de controles: Podremos tener controles con características o atributos particulares como color, estado, etc. Para la lectura y escritura del atributo de un control se emplean las funciones: GetCtrlAttribute ( handle, PANEL_CONTROL, Tipo_atributo, &attrib ) SetCtrlAttribute ( handle, PANEL_CONTROL, Tipo_atributo, attrib )
19. LabWindows/CVI Controles en LabWindows ( I ) Este es el menú con los diferentestipos de controles y panelesdisponibles para el interfacede usuario. A continuaciónse describen individualmente:
20. LabWindows/CVI Controles en LabWindows ( I ) Controles numeric: Utilizados para visualizar o introducir datos de tipo continuo(analógicos). Controles string: Utilizados para visualizar o introducir cadenas. Controles text-message: Presentación de avisos.
21. LabWindows/CVI Controles en LabWindows ( II ) Controles command button: Necesarios para iniciar una función determinada asociada al botón. Controles toggle bottons y binary switch:Permite seleccionar entre dos estados.
22. LabWindows/CVI Controles en LabWindows ( III ) Controles led indicator: Necesarios para indicar encendido/apagado. Controles decorations: Utilizados para realzar y mejorar el aspecto del interface de usuario.
23. LabWindows/CVI Controles en LabWindows ( IV ) Control timer: • utilizado para la ejecución periódica de una funcion callback asociada. • pueden existir varios timers.
24. LabWindows/CVI Controles en LabWindows ( IV ) Atributos del timer: 1) ATTR_INTERVAL: intervalo en segundos 2) ATTR_ENABLED: 0 desconectado 1 conectado Funciones asociadas: 1)ResetTimer 2)SuspendTimerCallbacks 3)ResumeTimercallbacks
25. LabWindows/CVI Controles en LabWindows ( V ) Controltext box: Permite la visualización de gran cantidad de información estructurada por líneas. Funciones asociadas al text box: 1) InsertTextBoxLine 2) DeleteTextBoxLine 3) ReplaceTextBoxLine 4) GetNumTextBoxLines 5) GetTextBoxLineLength 6) GetTextBoxLine 7) ResetTextBox
26. LabWindows/CVI Controles en LabWindows (VI ) Control tipo ring: Permite la selección entre un grupo de valores posibles (equivalente a un conmutador de n posiciones) con lo que el numero de valores posibles está limitado y enumerado. Controllist box: Permite la selección de un elemento de la lista.
27. LabWindows/CVI Controles en LabWindows ( VI ) Funciones asociadas a controles list box y ring: InsertListItem DeleteListItem ReplaceListItem GetCtrlIndex SetCtrlIndex GetValueFromIndex GetValueLengthFromIndex GetIndexFromValue GetNumListItems GetLabelFromIndex GetLabelLengthFromIndex ClearListCtrl
28. LabWindows/CVI Controles en LabWindows ( VI ) continúa... Funciones para list box: SetListItemImage GetListItemImage IsListItemChecked CheckListItem GetNumCheckedItems
29.
30.
31. LabWindows/CVI Controles en LabWindows ( VII ) Uso de cursores: Para poder usar los cursores, el control tipo Graph (no los stripchart) debe ser HOT: GetGraphCursor SetGraphCursor GetGraphCursorIndex SetGraphIndex GetActiveGraphCursor SetActiveGraphCursor GetCursorAttribute SetCursorAttribute
32. LabWindows/CVI Controles en LabWindows ( VII) Funciones para controles stripchart: PlotStripChart PlotStripChartPoint ClearStripChart GetTraceAttribute SetTraceAttribute