38
37 II. LabWindows © FRSoft Lda Introducción Proceso de creación de una aplicación LabWindows C & LW

02 - Programacion C & LabWindows - II

Embed Size (px)

Citation preview

Page 1: 02 - Programacion C & LabWindows - II

37

II. LabWindows

© FRSoft Lda

IntroducciónProceso de creación de una aplicación LabWindows

C & LW

Ý

Page 2: 02 - Programacion C & LabWindows - II

38

Introducción

© FRSoft Lda

Características destacables:

• Entorno de programación C, compatible con el estándar ANSI• Herramienta software para: Adquisición, análisis y presentación de datos

• Amplio conjunto de librerías:q Adquisición de datos (7):ü GPIB, RS-232, VXI, VISA, IVI, Data Acquisition, Easy I/O

q Análisis de datos (2):ü Formating and I/O, Advanced Analysis

q Presentación de datos (1):üUser Interface

q Redes y comunicación entre procesos (4):ü DDE, ActiveX, DataSocket, TCP

q Librería “ANSI C (1)”, con funciones estándar del lenguaje Cq Librería “Utility (1)”, con funciones para E/S a través de puertos, ...qMenú “Instrument“, permite la carga de librerías para manejo de osciloscopios, ...

C & LW

Page 3: 02 - Programacion C & LabWindows - II

39

Introducción

© FRSoft Lda

Aplicación LabWindows

Eventos

E/S

Componentes:• Interfaz gráfico de usuario (GUI)

• Hw de adquisición de datos y control• Programa en lenguaje C

Generación de eventos:• Objetos del interfaz gráfico

• Interfaces hardware• Procesos de comunicación

C & LW

Page 4: 02 - Programacion C & LabWindows - II

40

Introducción

© FRSoft Lda

Elementos de programa:

Interfaz de Usuario

• Paneles• Menús• Cuadros de diálogo• Gráficos científicos• Copia impresa

Adquisición de datos

• GPIB• VXI• RS-232• Tarjetas de interfaz• Drivers de instrumentos

Análisis de datos

• Formateo• Procesado digital• Estadísticas• Aproximación de curvas• Operaciones con arrays

Control de programa

• Lógica de control• Almacenamiento de datos

C & LW

Ý

Page 5: 02 - Programacion C & LabWindows - II

41

Proceso de Creación de una aplicación LabWindows

© FRSoft Lda

Diseño del GUI y generación de la

aplicación

Aplicación LW

Generación interactiva de

código

•Construir (Build)

•Ejecutar proyecto

SW aplicación

Errores?Si

No

Definir archivos del proyecto

Herramientas de depuración

• Ventana del Editor de interfaz• Ventana del Editor de código•Ventana de Ejecución interactiva•Ventanas de Paneles de función

• Ventana de Variables•Ventana Watch Expressions•Ventana de arrays•Ventana de cadenas

• Ventana de proyecto

C & LW

• Ventana Build Errors (Sintáxis)

Ý

Page 6: 02 - Programacion C & LabWindows - II

42© FRSoft Lda

Ventanas del entorno:• Proyecto:qUn fichero de proyecto (.PRJ) contiene una lista de todos los ficheros que forman parte del proyecto

• Editor del interfaz de usuario:q Se utiliza para crear el interfaz gráfico de usuario (.UIR) y el fichero de cabecera (.H)

• Editor de código fuente:qUtilizado para crear, editar, ejecutar, depurar y salvar código fuente (.C )

• Ejecución interactiva:qUtilizada para la ejecución selectiva de porciones de código

• Panel de función:q Permite la ejecución interactiva de funciones de librería y la inserción de éstas en el código fuente

• Editor del árbol de funciones:q Se utiliza para construir la estructura arborescente de los ficheros de paneles de función (.FP)

• Editor de paneles de función. Utilizado para construir los paneles de función.• Variables, arrays, cadenas y seguimiento de variables (Watch). Utilizadas para depurar programas. • Editor de ayuda de árbol de funciones / paneles de función. q Permiten añadir ayuda en línea a los paneles de función

C & LW

Ý

Proceso de Creación de una aplicación LabWindows

Page 7: 02 - Programacion C & LabWindows - II

43

§ Editor del Interfaz Gráfico de Usuario

© FRSoft Lda C & LW

Area edición

Herramientas

Menús

Page 8: 02 - Programacion C & LabWindows - II

44© FRSoft Lda C & LW

§ Editor del Interfaz Gráfico de UsuarioComponentes del GUI

Panel (Ventana)

Menús

• Parent / child• Emergente (Pop – Up)

Controles• Numeric• Text• Command Button• Toggle button• ...

Page 9: 02 - Programacion C & LabWindows - II

45© FRSoft Lda C & LW

§ Editor del Interfaz Gráfico de UsuarioEditar propiedades de panel

Conexión con código fuente:• Constant Name

q Id del panel en el programa• Callback Function

q Función activada por eventos del panel

Atributos del panel

Atributos de paneles descendientes (Child)

Page 10: 02 - Programacion C & LabWindows - II

46© FRSoft Lda C & LW

§ Editor del Interfaz Gráfico de UsuarioAjustes del panel de la aplicación

Page 11: 02 - Programacion C & LabWindows - II

47© FRSoft Lda C & LW

§ Editor del Interfaz Gráfico de UsuarioCrear menú / Editar propiedades del menú / Ajustes del menú de la aplicación

NOTA. Cuadro de diálogo LabWindows V7.0

Page 12: 02 - Programacion C & LabWindows - II

48© FRSoft Lda C & LW

§ Editor del Interfaz Gráfico de UsuarioEditar propiedades de controles

Conexión con código fuente:• Constant Name

q <ct. name_panel> + <ct. name_ctrl> = Id control

• Callback Function

q Función activada por eventos del control

Atributos del control:• Dependientes del tipo de control

• “Control modes”. Modos de operar controles:q Indicatorq Normal

q HotqValidate

Apariencia física del control

Apariencia física de la etiqueta

Page 13: 02 - Programacion C & LabWindows - II

49© FRSoft Lda C & LW

§ Editor del Interfaz Gráfico de UsuarioAjustes de los controles de la aplicación (LW V7.0)

Page 14: 02 - Programacion C & LabWindows - II

50© FRSoft Lda C & LW

§ Editor del Interfaz Gráfico de UsuarioSalvar .UIR / Incluir en proyecto / Archivo de cabecera asociado (.H)

Page 15: 02 - Programacion C & LabWindows - II

51© FRSoft Lda C & LW

§ Editor del Interfaz Gráfico de UsuarioEventos y callback functions

EVENTOS DE CONTROLES / PANELES / MENU:• Pulsaciones de tecla• Activación mediante ratón• Selección de un menú

HARDWARE:• Interrupciones DAQ• Procesos de comunicación

Evento

“Callback function” asociada

Page 16: 02 - Programacion C & LabWindows - II

52© FRSoft Lda C & LW

§ Editor del Interfaz Gráfico de UsuarioTipos de eventos de controles / paneles

Code à Preferences à Default Panel EventsCode à Preferences à Default Control Events

Page 17: 02 - Programacion C & LabWindows - II

53© FRSoft Lda C & LW

§ Editor del Interfaz Gráfico de UsuarioGeneración automática de código: CodeBuilder

Code à Set Target File ...Code à Generate à All Code

Ý

Page 18: 02 - Programacion C & LabWindows - II

54

§ Ventana de proyecto

© FRSoft Lda

ÝC & LW

Page 19: 02 - Programacion C & LabWindows - II

55

§ Generación interactiva de código

© FRSoft Lda C & LW

Editor de códigoESQUELETO CODIGO:• Declaraciones #include• Declaraciones de variables• Función main()• Esqueleto Callback Functionsq De panelesü Prototipoü Valor de retornoü Sentencia switch

q De controlesü Prototipoü Valor de retornoü Sentencia switch

q De menúsü Prototipo y llaves

• Las Callback Function que finalizan la aplicación llaman a QuitUserInterface()• Para compiladores externos se debe usar WinMain(), en LabWindows es indistinto

Page 20: 02 - Programacion C & LabWindows - II

56

§ Generación interactiva de código

© FRSoft Lda C & LW

Paneles de funciónLibrary à User Interface: Arbol de paneles de función

Page 21: 02 - Programacion C & LabWindows - II

57

§ Generación interactiva de código

© FRSoft Lda C & LW

Declaración de variables de forma interactiva

Page 22: 02 - Programacion C & LabWindows - II

58

§ Generación interactiva de código

© FRSoft Lda C & LW

Insertar llamada a función en el módulo fuente

Page 23: 02 - Programacion C & LabWindows - II

59

§ Generación interactiva de código

© FRSoft Lda C & LW

Insertar constantes UIR en un parámetro de función

Page 24: 02 - Programacion C & LabWindows - II

60

§ Generación interactiva de código

© FRSoft Lda C & LW

Page 25: 02 - Programacion C & LabWindows - II

61

§ Generación interactiva de código

© FRSoft Lda C & LW

Ver el árbol de paneles de función actual

Page 26: 02 - Programacion C & LabWindows - II

62

§ Generación interactiva de código

© FRSoft Lda C & LW

Establecer marcadores de textoView à Toggle Tag

Insertar construcciones del lenguaje

Edità Insert Construct à Do - Loop

Page 27: 02 - Programacion C & LabWindows - II

63

§ Generación interactiva de código

© FRSoft Lda C & LW

Emparejar llaves

Edità Balance

Page 28: 02 - Programacion C & LabWindows - II

64

§ Generación interactiva de código

© FRSoft Lda C & LW

Excluir líneas temporalmente de la compilación

Edità Toggle Exclusion

Línea excluida dela compilaciónLínea excluida de

la compilación

Ý

Page 29: 02 - Programacion C & LabWindows - II

65

§ Construir la aplicación. Errores de sintáxis

© FRSoft Lda C & LW

Compilar con opciones de depuración

Page 30: 02 - Programacion C & LabWindows - II

66© FRSoft Lda C & LW

Ý

§ Construir la aplicación. Errores de sintáxisVentana “Build Errors”. Localizar errores de sintáxis en el módulo fuente

Page 31: 02 - Programacion C & LabWindows - II

67

§ Herramientas de depuración

© FRSoft Lda C & LW

Opciones de ejecución. Ventana de Módulo Fuente

Finalizar la ejecución de la aplicaciónTerminate ExecutionRun

Finalizar ejecución de la función actualFinish FunctionRun

Paso a paso (Sin salto a funciones)Step OverRun

Paso a paso (Salto a funciones)Step IntoRun

Ejecutar hasta la posición del cursorGo To CursorRun

Continuar la ejecuciónContinueRun

Ejecutar la aplicaciónDebug <Aplicación>Run

Page 32: 02 - Programacion C & LabWindows - II

68

§ Herramientas de depuración

© FRSoft Lda C & LW

Puntos de ruptura. Ventana de Módulo Fuente• Establecer punto de ruptura al inicio de la aplicación: “Run”à “Break At First Statement”• Ejecutar aplicación con puntos de ruptura:

Número de veces que se ha de ejecutar sentencia antes de que

ocurra el punto de ruptura

TRUE: Activa punto rupturaFALSE: Ignora punto ruptura

Page 33: 02 - Programacion C & LabWindows - II

69

§ Herramientas de depuración

© FRSoft Lda C & LW

Valor de una variable. Ventana de Módulo Fuente

Cursor sobre el identificador de la variable.

Page 34: 02 - Programacion C & LabWindows - II

70

§ Herramientas de depuración

© FRSoft Lda C & LW

Ver estado de las variables. Ventana de Variables

Variables GLOBALES y STATIC

Variables LOCALES de las funciones activas (En ejecución) y valor de los

PARAMETROS ACTUALES

Variable se expande

Page 35: 02 - Programacion C & LabWindows - II

71

§ Herramientas de depuración

© FRSoft Lda C & LW

Expandir variable estructurada. Ventana de Variables

Page 36: 02 - Programacion C & LabWindows - II

72

§ Herramientas de depuración

© FRSoft Lda C & LW

Examinar variables tipo cadena. Ventana de Cadenas

Page 37: 02 - Programacion C & LabWindows - II

73

§ Herramientas de depuración

© FRSoft Lda C & LW

Examinar variables tipo array. Ventana de Arrays

Page 38: 02 - Programacion C & LabWindows - II

74

§ Herramientas de depuración

© FRSoft Lda C & LW

Ý

Evaluar expresiones. Ventana Watch

Módulo fuenteFunción Ejecutable

GLOBALES

LOCALES