5.5.2.1. Explicación teórica
5.5.2.2. Código
5.5.2.3. Resultado
5.5.3. Ejemplo III: Manejo de eventos
5.5.3.1. Explicación teórica
5.5.3.2. Código
5.6. Ejercicios
5.7. Bibliografía
Capítulo 6GPIB
6.1. Introducción
6.2. El estándar IEEE 488.1
6.2.1. Cableado
6.2.2. Handshake
6.2.3. Funcionamiento
6.3. El estándar IEEE 488.2
6.4. SCPI
6.5. GPIB en LabVIEW
6.5.1. VISA
6.5.2. Drivers
6.6. Ejemplos
6.6.1. Ejemplo I: Escáner del bus
6.6.1.1. Explicación teórica
6.6.1.2. Código
6.6.1.3. Resultado
6.6.2. Ejemplo II: Osciloscopio Tektronix TDS210
6.6.2.1. Explicación teórica
6.6.2.2. Código
6.6.2.3. Resultado
6.6.3. Ejemplo III: Uso de VI Express, Instrument I/O Assistant
6.6.3.1. Explicación teórica
6.6.3.2. Procedimiento
6.6.4. Ejemplo IV: Generador HP 33120A usando un driver
6.7. Ejercicios
6.8. Bibliografía
Capítulo 7Adquisición de datos
7.1. Introducción
7.2. Adquisición de señales analógicas
7.2.1. Configuraciones de terminales
7.2.2. Conversión a digital
7.2.3. Procesamiento
7.3. Tarjeta de adquisición de datos NI PCI-6221M
7.4. Measurement & Automation Explorer (MAX)
7.5. DAQ en LabVIEW
7.5.1. DAQ Assistant
7.6. Ejemplos
7.6.1. Ejemplo I: Crear un osciloscopio y un generador de funciones con la tarjeta PCI-6221M
7.6.1.1. Explicación teórica
7.6.1.2. Código
7.6.1.3. Resultado
7.6.2. Ejemplo II: Medida de la temperatura
7.6.2.1. Explicación teórica
7.6.2.2. Código
7.6.3. Ejemplo III: Control de un motor paso a paso
7.6.3.1. Explicación teórica
7.6.3.2. Código
7.6.3.3. Resultados
7.7. Ejercicios
7.8. Bibliografía
Capítulo 8TCP y UDP
8.1. TCP/IP
8.1.1. Nivel de red
8.1.2. Nivel de transporte
8.1.3. Nivel de aplicación
8.2. Arquitecturas habituales
8.3. TCP/IP en LabVIEW
8.4. HTTP en LabVIEW
8.5. Ejemplos
8.5.1. Ejemplo I: Servidor de Telnet
8.5.1.1. Explicación teórica de Telnet
8.5.1.2. Código
8.5.1.3. Resultados
8.5.2. Ejemplo II: Transmisión de voz
8.5.2.1. Explicación teórica
8.5.2.2. Código
8.5.2.3. Resultados
8.5.3. Ejemplo III: Obtener ficheros a través de HTTP
8.5.3.1. Explicación teórica
8.5.3.2. Código
8.5.3.3. Resultados
8.6. Ejercicios
8.7. Bibliografía
Capítulo 9VI Server y comunicaciones avanzadas
9.1. Acceso remoto
9.1.1. Paneles remotos
9.1.2. Publicación en web
9.2. Enlaces de datos
9.2.1. DataSocket
9.2.1.1. API
9.2.1.2. Método directo
9.2.2. Shared variables
9.2.3. Data Binding
9.2.4. Networks Streams
9.3. VI Server
9.4. Servicios web
9.4.1. Servicios web en LabVIEW
9.5. Ejemplos
9.5.1. Ejemplo I: Chat
9.5.1.1. Explicación teórica
9.5.1.2. Código
9.5.1.3. Resultados
9.5.2. Ejemplo II: Controlar Decorations
9.5.2.1. Explicación teórica
9.5.2.2. Código
9.5.3. Ejemplo III: Rendimiento de VI
9.5.3.1. Explicación teórica
9.5.3.2. Código
9.5.3.3. Resultados
9.5.4. Ejemplo IV: Sistema distribuido con variables compartidas
9.5.4.1. Explicación teórica
9.5.4.2. Código
9.6. Ejercicios
9.7. Bibliografía
Capítulo 10Sincronización y multihilo
10.1. Multihilo en LabVIEW
10.1.1. Sistemas de ejecución
10.1.2. Prioridades
10.1.3. VI reentrantes
10.1.4. Pipeline
10.1.5. Paralelismo
10.2. Multinúcleo
10.2.1. FOR
10.2.2. TIMED LOOP
10.3. Sincronización
10.3.1. Occurrences
10.3.2. Semáforos
10.3.3. Notificaciones
10.3.4. Colas
10.3.5. Rendezvous
10.4. Problemas típicos de la programación multihilo
10.4.1. Condición de carrera
10.4.2. Inanición
10.4.3. Inversión de prioridad
10.4.4. Interbloqueo
10.5. Eventos
10.5.1. Ejemplo I: Eventos dinámicos
10.5.2. Ejemplo II: Eventos de usuario
10.6. Ejercicios
10.7. Bibliografía
Capítulo 11Modelos de programación
11.1. Estructuras de interfaz de usuario
11.2. Temporización
11.3. Manejo de errores
11.4. Máquinas de estado
11.4.1. Máquinas de estados en LabVIEW
11.4.2. Ejemplo: Máquina expendedora
11.4.2.1. Explicación teórica
11.4.2.2. Código
11.4.2.3. Resultados
11.5. Comunicaciones
11.5.1. Maestro/esclavo
11.5.2. Productor/consumidor
11.5.3. Ejemplo: keylogger
11.5.3.1. Explicación teórica
11.5.3.2. Código
11.5.3.3. Resultado
11.6. Orientado a objetos
11.6.1. Programación orientada a objetos en LabVIEW
11.6.1.1. Ejemplo: Fichas de empleados
11.7. Scripting
11.7.1. Introducción
11.7.2. XNodes
11.7.3. Ejemplo I
11.7.3.1. Código
11.7.4. Ejemplo II: Metaprograma
11.7.4.1. Código
11.7.4.2. Resultado
11.8. Ejercicios
11.9. Bibliografía
Capítulo 12Código externo
12.1. Librerías externas
12.1.1. CIN
12.1.2. Librerías compartidas en LabVIEW
12.1.3. Ejemplo I: Creación de una DLL y su uso en LabVIEW
12.1.3.1. Explicación teórica
12.1.3.2. Código en C++
12.1.3.3. Código en LabVIEW
12.1.4. Ejemplo II: Wait (μs)
12.1.4.1. Explicación teórica
12.1.4.2. Código
12.1.4.3. Resultados
12.1.5. Ejemplo III: CIN
12.1.5.1. Explicación teórica
12.1.5.2. Código en C++
12.1.5.3. Código en LabVIEW
12.2. Comunicaciones entre aplicaciones
12.2.1. ActiveX
12.2.1.1. ActiveX en LabVIEW
12.2.1.2. Ejemplo: Creación de un control ActiveX y su uso en LabVIEW
12.2.2. .NET
12.2.2.1. .NET en LabVIEW
12.2.2.2. Ejemplo I: Creación de una librería de clases .NET y su uso en LabVIEW
12.2.2.3. Ejemplo II: Navegador Web
12.3. Creación de librerías y ejecutables con LabVIEW
12.4. Ejercicios
12.5. Bibliografía
Capítulo 13Optimización de la interfaz
13.1. Elementos del Panel Frontal
13.1.1. Otros tipos de gráficos
13.1.2. Subpaneles
13.1.3. Splitters
13.2. Localizar la interfaz
13.3. Interactuando con el usuario programadamente
13.3.1. Menús personalizados
13.3.2. Teclado
13.3.3. Drag & Drop
13.4. XControls
13.4.1. Ejemplo: Polímetro virtual
13.4.1.1. Explicación teórica
13.4.1.2. Metodología
13.4.1.3. Resultados
13.5. Consejos para diseñar una interfaz
13.5.1. Layout
13.5.2. Tipografía
13.5.3. Color
13.5.4. Imágenes
13.5.5. Otros
13.6. Ejercicios
13.7. Bibliografía
Capítulo 14Optimización del código
14.1. Diseño de la aplicación
14.2. Estilo del código
14.2.1. Organización
14.2.2. Comentar el código
14.2.3. VI
14.2.4. Cableado
14.3. Control de código
14.3.1. Ejemplo en LabVIEW
14.4. Mejorar el rendimiento
14.4.1. Herramientas
14.4.2. Manejo de memoria
14.4.2.1. Buffers
14.4.2.2. In Place Element Structure
14.4.2.3. Paso de valores por referencia
14.4.3. Técnicas para mejorar el rendimiento
14.4.3.1. Cálculos inútiles
14.4.3.2. No reinventar la rueda
14.4.3.3. Tamaño de los datos
14.4.3.4. Datos simples o complejos
14.4.3.5. Redimensionado de arrays
14.4.3.6. Cuellos de botella
Читать дальше