Professional Documents
Culture Documents
ni.com/colombia
01 8000 513680 o (1) 482.4888
Tcnicas de Programacin para
Obtener el Mximo Provecho de
LabVIEW
Felipe Rincn
Field Sales Engineer
National Instruments Andean &Caribbean
Agenda
Tcnicas de Programacin Multincleo
Patrones de Diseo Avanzados
Programacin Orientada a Objetos
Herramientas para Aplicaciones a Gran Escala
Arquitecturas Paralelas Aumentan Desempeo
Procesadores rpidos Procesadores Multincleo
Clock Speed (kHz) Transistor Count
Core
4 procesadores (pare de Core 2)
Velocidad de reloj2.66 GHz
Multitarea manual
Se limita la seccin de cdigo a ejecutarse como
una tarea
Tcnicas para Paralelismo
Paralelismo de Tareas y
Multitareas Automtico
Paralelismo de Datos
Pipelining y balanceo de etapas
Paralelismo Tareas
Tarea
Tarea
Tarea
Paralelismo de Datos
2) Arquitectura de cdigo:
Separar los datos
Procesar los datos en paralelos
Combinar los resultados individuales para
obtener un resultado general
Ejemplo: Paralelismo de Datos
Set de Datos
time
t0 t3 t4 t7
Estrategia Pipelining
CPU Core Acquire
t0 t1 t2 t3 time
Estrategia Pipelining
CPU Core Acquire Acquire
t0 t1 t2 t3 time
Estrategia Pipelining
CPU Core Acquire Acquire Acquire Acquire
t0 t1 t2 t3 time
Pipelining en LabVIEW
Pipelining
Secuencial
Con Pipelining (tiempo total= 3s): aumento velocidad = 1.33X (no ideal para pipelining)
Etapa 1 (3s)
Etapa 2 (1s)
Qu Son los Patrones de Diseo?
Una platilla o arquitectura para cdigo de
LabVIEW
Ampliamente aceptado y bien conocido
Fcilmente reconocible
Herramientas Bsicas
Ciclos
Registros Corrimiento
Estructura Casos
Constantes Enum
Estructura Eventos
Variable Global Funcional
1. La Variable Global Funcional es un SubVI No-Reentrante
2. Se puede hacer acciones sobre los datos
3. La constante Enum selecciona la accin
4. Guarda el resultado en un registro de corrimiento sin
inicializar
5. El ciclo se ejecuta una sola vez
Mquina de Estados
Se tiene un caso por cada estado El cdigo de transicin determina el
siguiente caso segn los resultados
Primer Estado
Ejecucin de
Estado
Los registros de corrimiento
acarrean el estado
Cdigo de
Transicin
Primer Estado Siguiente Estado
Opciones de Cdigo de Transicin
Step
Execution
Step Execution
Step
Execution
Productor / Consumidor
Mquina Estados Buffer &
Productor/Consumidor con Eventos
1. Eventos son capturados por el
productor
2. Productor pone los datos en el
buffer
3. La mquina de estados en el
consumidor ejecuta las
acciones sobre los datos
4. SubVIs paralelos se comunican
usando referencias a los
buffers
Buffer
Maestro
Ciclo Productor
Basado en Eventos
Estado y Datos
Entran al Buffer
Mquina Estados
Consumidor
Buffers Adicionales
(Q1 y Q2)
Estados Producen
para los Buffers
Adicionales
SubVIs Consumen
datos de Q1 y Q2
Programacin Orientada a Objetos
Un enfoque para el desarrollo de aplicaciones
Apropiado para aplicaciones de gran escala con un
equipo de desarrolladores
Promueve reutilizar el cdigo
Reduce el mantenimiento de cdigo
Simplifica extender aplicaciones
Programacin Orientada a Objetos
Clase Padre
Clases y Objetos
Encapsulacin
Clase Hija
Herencia
Felipe Rincn
Field Sales Engineer
National Instruments Andean & Caribbean
felipe.rincn@ni.com
01 800 010 0793
Academic Days 2011