Blog Supervisión, Prueba, medida y control

PDF
Imprimir
Correo electrónico

Este Blog es dedicado a la valoración y el desarrollo de las técnicas de prueba, medida y control.

El Blog original esta en la dirección: http://pruebas-medidas.blogspot.com a donde se puede escribir comentarios.

Para suscribir al flujo RSS de este Blog da un clic aquí: subscribir al Blog

  • NiDays Mexico 2014

    El 22 octubre 2014, tuve el placer de ir a los NiDays a México. Fue un día muy interesante para platicar de las ultimas tecnologías de pruebas y mediciones con los ingenieros de National Instruments y mis colegas de todas la república de México que trabajan para la industria como las universidades.
    El equipo de National Instruments Mexico a los NiDays de Mexico 2014 y yo orgullosamente miembro de la Alianza de los socios de National Instruments (National Instruments Alliance Partner). Gracias al ingeniero David Rodriguez Rosas para la foto.
    © Adrien Jolly www.ajolly.com.mx
  • Actividades 2013

    Durante el año 2013 las misiones de medición y prueba me llevaron en Francia, México, Brasil, Túnez, Canadá y los Estados Unidos. Me permitieron aumentar mi experiencia en la integración de bancos de pruebas en las líneas de fabricación en serie y responder a auditar de sistemas de prueba. Y siempre es un placer conocer a los distintos interesados, los ingenieros y los equipos de gestión de  diferentes sectores, diferentes países y comunicarse en diferentes idiomas (Inglés, francés, español y portugués).
    Aquí va la lista de mis actividades en 2013:
    • Auditoría del proceso de prueba en un centro de reparación de módem xDSL, definición de soluciones para establecer, desarrollar el nuevo proceso, la disposición (layout) de la línea. Esta optimización resultó en un aumento de 500% de la capacidad de prueba (TestStand).
    • Accesoria en un proyecto de sistema de regulación de enfriamiento de láser con LabVIEW tiempo real y cRIO.
    • Desarrollo de un banco de qualidad en fin de linea de fabricación en serie de modem xDSL (GVT, Telefonica): VDSL, WIFI 2.4GHz, WIFI 5GHz, FTTH, Ethernet, HPNA (TestStand)
    • Optimización y depuración de bancos de pruebas funcionales en la fabricación en serie de modem xDSL: reducción de 40% del tiempo de prueba, reducción de las falsas fallas (TestStand, LabWindows/CVI)
    • Desarrollo de drivers de instrumentos para la medición de la piel con LabVIEW
    • Dearrollo de drivers IVI con LabWindow/CVI, para integrar en TestStand
    • Desarrollo de un sistema para medir del envejecimiento de componentes electronicos
    • Capacitaciones LabVIEW, LabWindows/CVI, medición y instrumentación con Visual Basic .Net (Measurement Studio)
    • Auditoria técnica de bancos de prueba de modems xDSL y fuentes en centros de reparación (GVT, Bell y Cablevision) para incrementar la capacidad de prueba y reparación: análisis de la viabilidad de las pruebas, estabilidad de la mediciones, estudio estadístico de las mediciones y datos de produción de los bancos de prueba, optimización de las acciones de los operadores, de los softwares, de la trazabilidad y de los flujos de los productos.
    © Adrien Jolly www.ajolly.com.mx
  • El aumento de la capacidad de prueba


    Para este proyecto, mi cliente me pidió que aumentara la capacidad de sus bancos de pruebas de su servicio de posventa: pasar de 500 unidades por día a 2 500 unidades por día (aqui las unidades son modems ADSL/VDSL con teléfono, HPNA, WIFI, WAN, Ethernet y USB). El uso de bancos de pruebas en este caso de posventa es analizar y dar un diagnostico para reemplazar los componentes defectuosos y luego verificar que la reparación haya resuelto el problema.
    Análisis
    Para optimizar los bancos de pruebas de la mejor forma, el análisis es esencial para decidir qué acción tomar. Encontré varios factores que limitaban la capacidad:
    • demasiadas acciones manuales: la prueba es desigual, además, cada vez que el operador intervenga, el no está disponible para realizar acciones en otro banco.
    • usabilidad del banco de pruebas: el operador pierde tiempo para colocar la unidad, conectar y desconectar.
    • usabilidad del software de pruebas: resultados de las pruebas no son claramente identificables, el operador pierde tiempo para leer el diagnóstico, o peor, se equivoca.
    • falsas fallas: si hay falsas fallas, el operador duda del banco de pruebas y  se reinicia la prueba, perdemos tiempo. Las falsas fallas pueden ser causadas ​​por el hardware (inestabilidad de la medición debido a la instrumentación, cableado, conectores o de cualquier otro componente) como el software (el procesamiento de la medición, el análisis, la tolerancia).
    • el uso de los recursos de hardware: todas las pruebas se ejecutan una tras otra, mientras que algunos pueden ejecutarse en paralelo en la misma unidad o varias unidades.
    • proceso: tener un solo banco, para ejecutar todas las acciones y las pruebas, no siempre es la solución más adecuada. El numero y las funciones de los bancos dependen del producto, de las pruebas a realizar, del medio ambiente y del por qué ponemos a prueba.
    • optimización de la línea: la colocación de los bancos de pruebas puede penalizar el flujo, lo que obliga al operador a perder el tiempo en su movimiento y aumentar el riesgo de errores de manejo que puede dañar el producto.
    • trazabilidad: tener el histórico del producto es importante para optimizar la reparación, fluidificar (no probar un producto que ha sido probado fallado en probador anterior sin ninguna reparación), diagnosticar problemas del banco de pruebas, proporcionar las acciones de mantenimiento, sino también analizar la producción.
    Solución
    Después de presentar un análisis de la identificación de problemas, he trabajado con mi cliente sobre varios puntos:
    • revisión de la línea y los probadores para mejorar el flujo, la ergonomía y los movimientos de los operadores y de los productos.
    • uso del material ya disponible, la sustitución y la adición de nuevo, modificación del cableado y el tipo de conector para una mejor fiabilidad y velocidad.
    • migración del software de pruebas desde scripts de pruebas ejecutados desde la línea de comandos de Linux hasta secuencias de pruebas de TestStand en Windows con la creación de una pantalla simple (prueba en curso, resultado bueno o malo, prueba pendiente) con paralelización de pruebas para reducir el tiempo.
    • generación de reportes de pruebas, centralización de datos en la red y desarrollo de software de análisis de datos.
    • capacitación de los operadores y optimización de las acciones.
    © Adrien Jolly www.ajolly.com.mx
  • Mis actividades durante 2012

    Los proyectos fueron muy emocionantes para este año 2012. En fin hice 160 000 km en avión para ver mis clientes: ir una semana en un país, 3 semanas en este otro, 2 semanas en esta ciudad, pero en total es 6 meses viaje profesionales para compartir las técnicas y las amistades (si, atrás de la técnica siempre hay el humano). Durante este año disfrute compartir mi experiencia, trabajar mas alla de mi especialidad al fin de dar el mejor acompañamiento a mis clientes en las dificultades, mejorar los procesos al nivel del software como el hardware y analizar los procedimientos para proponer cambios para lograr solucionar las problemas, hablar cuatro idiomas en la misma reunión (ingles, francés, portugués e español), compartir mis experiencias en esos idiomas durante capacitaciones.

    Aquí viene el resumen de 2012:

    • desarrollo de bancos de pruebas con TestStand y LabWindows/CVI para la industria brasileña; instalar líneas de producción; mejorar los procedimientos de prueba para reducir el tiempo del ciclo e incrementar la capacidad
    • soporte de los equipos de producción: en viaje o a distancia, ayuda a la especificación de problemas, identificación de la fuentes, corrección e optimización o pre análisis para que llegue el problema al especialista adecuado (base de datos o producción por ejemplo)
    • capacitación LabVIEW, TestSTand y LabWindows/CVI
    • desarrollo de un sistema de medición para la industria cosmética con LabVIEW
    • desarrollo de la validación de protocolos de comunicación para la producción de autómatas programables con LabWindows/CVI y TestStand
    © Adrien Jolly www.ajolly.com.mx
  • Recapitulación de mis actividades en el año 2011

    Para empezar el año 2012 nada mejor que de hacer la recapitulación del año pasado 2011 de mis actividades como ingeniero independiente:

    • Capacitador para LabVIEW, TestStand y LabWindows/CVI, hasta Túnez en África del Norte, , para varios sectores de actividades industriales, científicas y militares.
    • Desarrollo de un sistema de medición con corrientes de Foucault para la detección de defectos de las superficies de los materiales con representación cartográfica para centrales nucleares (LabWindows/CVI).
    • Intervención técnica para mejorar sistema de pruebas clínicas de cosmetología y farmacología (LabVIEW)
    • Mejoría de un banco de estudios de los principios termodinámicos aplicados a la refrigeración (LabVIEW tiempo real, embebido y servidor WEB)
    • Implementación de instrumentos de mediciones modbus-TCP en red Ethernet y radio para el análisis del consumo energético de instalaciones industriales y de edificios (LabVIEW et Visual Basic)
    • Desarrollo de un servidor de transcodificación automatizada de mediciones generadas controlador lógico programable (LabVIEW)
    • Implementación de pruebas funcionales para la validación de reguladores industriales de velocidad (TestStand y LabWindows/CVI)
    • Conferencia de titulo “Acelerador de partículas : luz al futuro medical” presentando las avanzadas tecnológicas gracias a las observaciones nanométricas  procesadas por los sincrotrones.

    © Adrien Jolly www.ajolly.com.mx
  • Conferencia “Acelerador de partículas: luces al futuro medical”

    Esta vez, la conferencia no fue acerca del control y medición con LabVIEW, LabWindows/CVI o TestStand sino sobre los aceleradores de partículas en la medicina para el tratamiento del cáncer y especialmente las aplicaciones de la radiación de sincrotrón para la observación de las proteínas y sus diferentes mecanismos de funcionamiento al fin de usarlos en los futuros medicamentos activos a base de nanotecnología. De donde viene la idea de este tema? Me toco dar accesoria al sincrotrón “Soleil”, en el sur de París, manejado por el CNRS (centro nacional francés de investigación científica) y el CEA (comisión a la energía atómica) para optimizar mediciones en una línea de luz.

    Conferencia “Acelerador de partículas: luces al futuro medical” durante la XXXII reunión de residentes y cirujanos pediatras egresados del Instituto Nacional de Pediatria y Amigos de Espania en México
    Conferencia “Acelerador de partículas: luces al futuro medical” durante la XXXII reunión de residentes y cirujanos pediatras egresados del Instituto Nacional de Pediatría y Amigos de España en México.

    Conferencia “Acelerador de partículas: luces al futuro medical” y la audicia de cirujanos pediatras mexicanos y españoles
    Los cirujanos pediatras mexicanos y españoles.

    El sincrotrón “Soleil”
    El sincrotrón “Soleil”

    Ejemplo de instrumentos de medición usados en el sincrotrón Soleil
    Es para esos tipos de instrumentos he dado la asesoría.

    © Adrien Jolly www.ajolly.com.mx
  • LabVIEW 2010 y sus novedades del punto de las paletas de funciones

    LabVIEW200_thumb1

    Aquí está una descripción rápida de las nuevas características y los cambios realizados en LabVIEW 2010 en comparación con la versión 2009, pero en términos de paletas de programación y control.

    Programing: structures

    programation-structures_thumb

    Tenga en cuenta la migración de la estructura del elemento en el lugar (in place element) que ya estaba presente en la versión 2009, pero que estaba en la paleta de manejo de la memoria. Esta estructura es muy útil para optimizar el consumo de memoria, especialmente útil para aplicaciones embebidas (Compact FieldPoint o Compact RIO) y software que necesitan manipular una gran cantidad de datos para (lo que reduce el número de reasignaciones y una lectura fácil del diagrama).

    Los iconos de las variables compartidas, variables global y local han cambiado un poco con un diseño más significativo.

    Programing: numeric

    programation-numrique_thumb

    Adición de la constante doble. Antes ese cambio, la única mañera de poner una constante de tipo doble fue de primero poner una constante de tipo entero y después cambiar la en doble. Ahora es directo, se ahora tiempo.

     

    Programing: boolean

    programation-boolen_thumb1El icono de la constante de tipo booleano a cambiado: es mas compacto. Ahora se ve solamente T o F (antes T/F en todos los casos) eso permite de tener un diagrama que se lee mas fácilmente y se ahora espacio.

    Programing: File I/O

    programation-ES-sur-fichiers_thumb

    Aquí es la paleta del manejo de archivos de tipo waveform que aparece. Es la copia de las mismas funciones que se encuentran en la paleta waveform. Entonces, ahora se encuentra en dos lugares: la paleta de archivos y la paleta waveform. La ventaja es que no se puede olvidar a donde esta, dependiendo del punto de vista del tipo de datos o de los que se produce: archivo.

    programation-ES-sur-fichiers-TDMS-en[1]

    La paleta de los archivos TDMS se enriquece con la adición de funciones avanzadas.programation-ES-sur-fichiers-TDMS-en[2]programation-ES-sur-fichiers-bibliot[1]

    En la paleta de funciones de archivos avanzadas se encuentra ahora las librarías empacadas. Que es eso? Para los conocedores de del lenguaje C, las librarías empacadas tienen el mismo uso que las librarías estaticas .lib: son VIs compilados en un mismo archivo .lvlibp. Las aventajas son: se ahorra tiempo durante el proceso de compilación porque ya el archivo .lvlibp contiene VIs compilados (practico para las grandes aplicaciones), o para compartir funciones con sus colegas de mañera segura y fácil.

    Programing: Dialog & user interface

    LabVIEW2010-dialogue-et-interface-ut[1]

    La fusión errores (merge errors) ahora es una función y no un sub-VI. Ahora esa función acepta N entradas al igual que la función build array y además pienso que se ejecuta mas rápido que el VI. Aprovecho para destacar la importancia de la gestión de las errores: cuentas veces gane tiempo durante la fase de desarrollo y de mantenimiento para identificar la fuente de un bug.

    Data communication

    LabVIEW2010-communication-de-donnees[2]

    Adición las funciones de flujo de red son añadas a la paleta de comunicación de datos. Permiten la transferencia de waveform en continuo sin perdida de datos. Para otros tipos de datos que no necesitan eso rendimiento, consejo el uso de las variables compartidas.

    LabVIEW2010-communication-de-donnees[5]

    Para los protocolos, el HTTP cliente es adicionado.  Eso facilita la programación porque en las versiones anteriores, eso se programaba gracias a las funciones de bajo nivel de la paleta del protocolo TCP. Ahora es mas sencillo. Ejemplo de uso: dialogo para enviar o recibir datos como un mini servidor embebido en una tarjeta Ethernet o un servidor web embebido de un controlador lógico programable PLC distante.

    © Adrien Jolly www.ajolly.com.mx
  • Conferencia “Sistemas embebidos en LabVIEW orientados al monitoreo de variables”

    Adrien Jolly - (c) François Orsero He podido disfrutar de dar una conferencia a cerca de los sistemas industriales y científicos con las tecnologías de National Instruments durante el secundo congreso internacional de ingeniería en telemática de la Universidad Politécnica de Durango, México. Esta conferencia duro una hora para desarrollar el tema de los “Sistemas embebidos en LabVIEW orientados al monitoreo de variables” desde la introducción para describir lo que son el control, la supervisión, la simulación, la prueba y la medición, pasando por una demostración de programación con LabVIEW, una video en vivo con une cliente mío, el Instituto Raspail de París en Francia, para detallar su sistema frigorífico usando componentes de National Instruments y un software embebido en LabVIEW que he desarrollado, hasta una demostración de las capacidades de control a distancia de la maquina instalada en París desde México.

    Parte 1/8: Introducción

    Introducción de la conferencia para mostrar la evolución de los productos y su impacto en las tecnologías usadas para fabricarlos.


    Parte 2/8: Control, Supervisión, Medición, Prueba, Simulación

    Descripción de lo que son el control, la medición, la prueba y la simulación para la calidad en la industria y la investigación científica.

    Parte 3/8: Ejemplos de sistemas

    Ejemplos de sistemas de control, supervisión, prueba, medición, hechos con las tecnologías de National Instruments: LabVIEW, LabWindows/CVI o TestStand y hardware.

    Parte 4/8: Video en vivo del sistema de París

    Video en vivo desde París, Francia (Instituto Raspail) para describir la maquina de refrigeración a doble camarera con sistema de control y supervisión Compact Fieldpoint de National Instrument y su software embebido que he desarrollado en lenguaje Grafico de LabVIEW, con la muy amable participación del Ing. Daniel Garault director técnico del instituto, del Prof. Guy Marcaillou profesor de termodinámica  y la Prof.  Clarisse Mbobda Fonking profesora de física.

    Parte 5/8: Detallado del sistema de París

    Descripción del hardware del sistema embebido de la maquina de París: hardware Compact Fieldpoint y software desarrollado con LabVIEW Tiempo Real.

    Parte 6/8: Introducción a LabVIEW

    Demostración de programación de un generador de señales con LabVIEW.

    Parte 7/8: Shared Variables

    Presentación de las variables compartidas en el red con LabVIEW y demostración de control a distancia desde México de la maquina en París, Francia.

    Parte 8/8: Web Server con LabVIEW

    Descripción y demostración del Web Server de LabVIEW embebido en el controlador Compact Fieldpoint de National Instruments para tomar el control a distancia de la maquina desde el navegador.

    © Adrien Jolly www.ajolly.com.mx
  • Como elegir la mejor opción entre LabVIEW, LabWindows/CVI, Measurement Studio y TestStand

    National Instruments, actualmente el líder mundial en la instrumentación, la prueba y la medición, ofrece soluciones para el desarrollo de software en tres lenguajes diferentes: LabVIEW, LabWindows/CVI y Measurement Studio; y un otro software de desarrollo especializado: TestStand. Pero, estoy de acuerdo, puede ser difícil de elegir entre todas esas opciones, además para un neófito en este ámbito. Por eso voy a tratar de hacer una descripción corta de esos productos tanto de las diferencias que hay entre ellos que de los puntos fuertes de cada uno.

    LabVIEW logo LabVIEW

    LabVIEW es el producto el mas famoso de National Instruments desde 1984.

    • Uso: desarrollo de software orientado para la industria y la ciencia, por lo general en comunicación con instrumentos de medición, sensores y aparatos electrónicos para Windows, Unix, Linux o Macintosh, PDA (Windows Mobile y Palm OS), aparatos tiempo real (de NI), tarjetas FGPA (de NI).
    • Lenguaje: lenguaje G para Grafico. La programación se hace con iconos (que son funciones) que se ponen en un diagrama y esos iconos son vinculados con hilos (que son flujos de datos, variables).
    • Aventajas: el lenguaje G, totalmente grafico, permite el desarrollo muy rápido de software sin un conocimiento extensivo de la programación.

    LabWindows/CVI logo LabWindows/CVI

    LabWindows/CVI es, para resumir, LabVIEW en lenguaje C.

    • Uso: desarrollo de software orientado para la industria y la ciencia, por lo general en comunicación instrumentos de medición, sensores y aparatos electrónicos, para Windows, Unix o Linux y aparatos tiempo real (de NI) – desde la versión 9.0 para este ultimo punto.
    • Lenguaje: lenguaje C. LabWindows/CVI ofrece muchos asistentes para ayudar al desarrollo de interfaz gráfica de usuario, la declaración de variables, la inserción de  funciones y estructuras en el código de fuente y la comunicación con los instrumentos, sensores y aparatos electrónicos.
    • Aventajas: el lenguaje C es un lenguaje de base conocido de la mayoría de los ingenieros y técnicos. Es un lenguaje famoso que permite usar códigos de fuente existentes. La programación se encuentra accesible gracias a los asistentes.

    Measurement Studio logo Measurement Studio

    Measurement Studio es un paquete de clases et librarías similares a LabVIEW para Visual Studio.

    • Uso: desarrollo de software orientado para la industria y la ciencia, por lo general en comunicación con instrumentos de medición, sensores y aparatos electrónicos para Windows.
    • Lenguaje: lenguajes C++, C# y Visual Basic.
    • Aventajas: ayuda el desarrollo de software para la instrumentación y la medición con Visual Studio por conducto de sus librarías de funciones y sus objetos gráficos especializados.

    TestStand-Logo TestStand

    TestStand es un herramienta, o mas bien una serie de funcionalidades, o Framework, para facilitar el desarrollo de software de tipo secuenciador.

    • Uso: desarrollo de software de tipo secuenciador para la industria y la ciencia, por lo general para la medición y la prueba en Windows.
    • Lenguaje: compatibilidad con LabVIEW, LabWindows/CVI, Java, HTbasic y todos los lenguajes que producen DLL, EXE, componentes ActiveX y .NET. También TestStand tiene su propio lenguaje sencillo de script.
    • Aventajas: tiene todas las funciones requeridas para un secuenciador de pruebas; significa que es muncho tiempo ganado porque no ce necesita desarrollarlas si están. Ofrece, entre otras, las funciones siguientes: generación de informes, editor de secuencias, generación automatizada de código de fuente, conexión a bases de datos, paralelismo, componentes gráficos para el interfaz grafica de usuario, gestión de los derechos de los usuarios.
    © Adrien Jolly www.ajolly.com.mx
  • Conferencia en México

    Fui invitado a dar una conferencia durante el SIECC 2009,  Simposio Internacional estudiantil de Ciencias Computacional de en tres días, organizado por el Instituto Tecnológico de Durango, México.

    12652_169092777849_107759907849_2596261_4426841_n

    El título de mi conferencia fue "La Mecatrónica en la calidad industrial y la investigación científica", donde expuso los temas de control, medición, prueba y simulación para sistemas cada vez más complejo en la investigación científica y la industria, con ejemplos de mi experiencia profesional.

    16649_179577636768_533411768_2849826_1199836_n 16649_179577671768_533411768_2849831_2633575_n

    Entre otros oradores, se podría contar con Leo Prieto (leo.prie.to), un chileno que es la cabeza del Fayerwayer.com primero sitio en América Latina, con 4 millones de visitantes por día, para hablar de la conectividad de hiperconectividad; Alvaro López Ortega (Octality), español, creador del servidor gratuito "Cherokee", para presentar los modelos de negocio aplicables a una empresa de desarrollo de código libre; Ricardo Meza, mexicano, miembro de Mozilla, para hablar de FireFox y del Open Source; Mauricio Pastrana, colombiano, para hablar de cuestiones económicas de las comunidades del web; Alejandro Martínez, mexicano, miembro de Microsoft, para presentarnos a las nuevas innovaciones tecnológicas de Microsoft y Carlos Montelongo para hablar de las aplicaciones JAVA. A continuación se muestra una foto de los conferencistas:

    11440_167937514139_558214139_2568405_2940484_n

    ver el portal del evento: siecc09.com

    © Adrien Jolly www.ajolly.com.mx
  • Nuevas funciones de LabVIEW 2009

    labview2 2009 LabVIEW acaba de salir (ten en cuenta que el número de versión es 9.0). Además de la noticia anunciada por National Instruments en su sitio web, yo quería hacer una reseña de la evolución en las paletas de controles de la interfaz gráfica y funciones para los diagramas. Aquí está el resumen (las nuevas funciones se enmarcan en rojo):

    Novedades en los controles (interfaz gráfica)

    • Digital
    labview2009-moderno-digitales Añadido del control de tipo embalse
    • Gráficos
    labview2009-moderno-graficos Añadido de tuta de compas, ruta a barras de errores, ruta de pluma, matriz de rutas XY y añadido de las funciones dedicadas a gráficos 3D
    • Gráficos en 3D
    labview2009-moderno-graficos-graficos-3d Añadido de gráficos 3D de tipo nube, barras, circulares, columnas, cintas, contorno, campo vectorial, cometa, superficie, malla y cascada.

      Novedades en las funciones (diagrama)

    • Programación, digital, punto fijo
    labview2009-programacion-digital-punto-fijo Añadido de adaptador de punto fijo a entero, adaptador de entero a punto fijo
    • Programación, vector, matriz
    labview2009-programacion-tabla-matriz nueva paleta con : dimensión de matriz, construir una matriz, redimensionar una matriz, transponer de una matriz, obtener la diagonal de una matriz, obtener elementos de una matriz, obtener una sub-matriz, definir una diagonal de matriz, definir elementos de matriz, definir una sub-matriz
    • Programación, cluster, clase y variant
    labview2009-programacion-cluster-classe-y-variant Añadido de preservar la clase durante la ejecución
    • Programación, E/S en archivos, constantes de archivos
    labview2009-programacion-es-sobre-archivos-constantes-de-archivos Añadido de obtener le directorio sistema y directorio de la aplicación
    • Programación, E/S en archivos, XML, parsor XML
    labview2009-programacion-es-sobre-archivos-xml-parsor-xml
    • Añadido de obtener el primer nodo correspondiente y obtener todos los nodos correspondientes
    • se puede ver que los iconos nuevo y cerrar han cambiando
    • Programación, E/S en archivos, TDM en continua
    labview2009-programacion-es-sobre-archivos-tdm-en-continua Añadido de TDMS – convertir el formato, crear informaciones de escala

    • Programación, control de aplicaciones, informaciones sobre el procesador
    labview2009-programacion-control-applicationes-informaciones-sobre-el-procesor Nueva paleta con : información del procesador, numero de niveles de cache, dimensión del cache de datos
    • Programación, control de aplicaciones, control de la memoria
    labview2009-programacion-control-applicationes-control-de-memoria Añadido de nueva referencia de valores de datos, suprimir una referencia de valores de datos

    • Programación, waveform, waveform digital
    labview2009-waveform-waveform-digital Añadido de agrupar los señales digitales
    • Procesamiento de señales, operación de señales
    labview2009-tratamiento-de-senal-operaciones-en-los-senales Añadido de nodo de periodo de transformada en Z

    • Matemáticas, ecuaciones diferenciales, ecuaciones diferenciales parciales
    labview2009-matematicas-equaciones-differenciales-parcielas Nueva paleta con: definir EDP, definir un dominio de EDP, definir la condición a los limites de una EDP, definir la condición inicial de una EDP, resolución de EDP, visual de EDP
    • Comunicación de datos, variable compartida
    labview2009-communicacion-de-datos-variable-compartida
    • Añadido de funciones para simplificar el uso de variables compartidas: crear una conexión a la variable, leer una variable, escribir una variable, cerrar una conexión a una variable, nodo de propiedad de variable.
    • para las variables PSP: abrir y verificar la conexión de una variable, crear una conexión a una variable en fondo.
    • para las variables de E/S: lectura por escaneo de la variable, escribir por escaneo de la variable, lectura directa de la variable
    • Entradas/Salidas de medición, motor de escaneo NI
    labview2009-es-de-medicion-motor-de-escaneo-ni

    Nueva paleta con: sincronización con el motor de escaneo, obtener el periodo del motor de escaneo, definir el periodo del motor de escaneo, obtener el modo de escaneo, definir el modo del motor de escaneo, refrescar los módulos locales

    • Entradas/Salidas de medición, motor de escaneo NI, limitación
    labview2009-es-de-medición-motor-de-escaneo-ni-limitacion Nueva paleta con: activar las limitaciones de variables, desactivar las limitaciones de variables, borrar las limitaciones de variables, limitar una variable, cancelar una limitación de variable
    • Entradas/Salidas de medición, motor de escaneo NI, fallos
     labview2009-es-de-medición-motor-de-escaneo-ni-fallos Nueva paleta con: obtener una  lista de fallos, definir un fallo, borrar un fallo, borrar todos los fallos
    • Entradas/Salidas de medición, motor de escaneo NI, configuración de fallos
    labview2009-es-de-medición-motor-de-escaneo-ni-configuracion-de-fallos Nueva paleta con: definir una configuración de fallos, borrar una configuración de fallos, obtener todas la configuraciones de fallos
    © Adrien Jolly www.ajolly.com.mx
  • Uso de JAVA con TestStand

    logoteststand Ahora puede hacer uso de clases Java directamente a partir de secuencias de TestStand.

    Sabemos que TestStand puede usar componentes de varios tipos: LabVIEW (VI), LabWindows/CVI (.c, .obj, .lib, .dll), DLL (para todos los lenguajes que pueden generar DLL: C + +, Pascal Object con Delphi, Visual Basic y otros ....), ActiveX (para todos los lenguajes compatibles). NET (con los lenguajes compatibles...) y HTbasic. Uno podría decir que estos adaptadores (adapters en Inglés) son principalmente de tecnologías de Microsoft. Opción comercial podríe ser, pero no estaría contando con la posibilidad de programar usted mismo, sobre todo que se puede seguir los ejemplos de adaptadores, mencionados anteriormente, que se suministran con TestStand.

    En este sentido, un nuevo adaptador existe: el adaptador JAVA. Se compone de tres grupos:

    • StartStop: para iniciar y detener la máquina virtual Java (JVM);
    • Methods: para usar un método de una clase
    • Static methods: para usar un método de una clase estatica

    El uso de los métodos permite los pasos siguitentes: Numeric Limit Test, String Value Test, Pass/Fail Test et Action.

    Véase a continuación un ejemplo de una secuencia de prubas (en este caso de una tarjeta madre de un PC) escrito en Java (ver la carpeta Java en los ejemplos de TestStand).

    TestStand-java
    Secuencia de prueba en JAVA en TestStand

    Cabe señalar que los codigos de fuente de los adaptadores Java están escritos en C con LabWindows/CVI. La interfaz de configuración de la propiedades que sigue es, entonces, editable.

    Java_EditJavaCall_db 
    Propriedades de un pasos JAVA en TestStand

    El adaptador JAVA es compatible con TestStand a partir 3.0, LabWindows/CVI a partir 6.0 y Java 2 version 1.4.

    © Adrien Jolly www.ajolly.com.mx
  • Opciones de compilación de LabWindows/CVI

    imageLas opciones de compilación son, muchas veses, un poco olvidadas durante el desarrollo de un programa, aunque son, como el código, muy importantes por las razones siguientes: permiten de configurar el nivel de análisis para la detecciones de errores del código y de la gestión de la memoria durante la ejecución en modo "debug", fijan las direcciones de memoria para la compatibilidad con otros componentes, como DLL. Así, la modificación de una opción puede cambiar, hasta no desplegar los mensajes de error del debugger de LabWindows/CVI. Tendríamos un comportamiento inestable de nuestro programa sin haber tenido advertencias durante la compilación o la ejecución en modo "debug". Al fin de ayudar ustedes durante sus inicios con LabWindows/CVI, le propone de configurar los "Build Options" del menú "Options" de la manera que sigue (captura de la pantalla de Build Options de LabWindows/CVI 9.0, la versiones anteriores tienen mas o menos las mismas opciones).

    Build Options LabWindows/CVI 9.0

    © Adrien Jolly www.ajolly.com.mx
  • Estructuracion del diagrama LabVIEW

    labview_thumb Se puede definir un código bueno en LabVIEW con varias características: antes de todo debe funcionar, fácil de leer y fácil de modificar para melojar su mantenimiento. Así pues, se buscara a estructurar el código y no  lanzar en el diagrama sus ideas.

     

    image En este fin, usáramos  las funciones de estructuras como las bucles FOR o WHILE, les condiciones, la estructura de eventos (para maneja las acciones de los elementos del interface gráfico como un clic en un botón) o las secuencias sin olvidar las decoraciones como los cuadros y textos para agregar comentarios. Pero también los sub-VI los cuales agrupen funciones, eso reducirá los diagramas, capitalizara las funcionalidades y sera mas fácil de distribuir esas funciones; ademas, eso permite al motor de LabVIEW una mejor gestión de la memoria durante la ejecución del programa.

    © Adrien Jolly www.ajolly.com.mx
  • Historico de la versiones de LabWindows/CVI

    cvi Con la misma idea que para el historial de la versiones de LabVIEW, hago en Wikipedia el historial de las versiones de LabWindows/CVI (ver el articulo aqui):

     

    • 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, librarí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 despliegue, .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 multi corazón, edición del código durante el debug, toolkit tiempo real
    • 2008: LabWindows/CVI 9.0, gestor de memoria y compilación optimizada, C ANSI versión 99 (en particular, las array dinámicas)
    © Adrien Jolly www.ajolly.com.mx
  • Historial de las versiones de LabVIEW

    labview Estoy haciendo el historial de la versiones de LabVIEW en Wikipedia (da un clic aqui para ver el articulo en Wikipedia):

     

    • 1986 : LabVIEW 1.0, primera versión en Mac OS
    • 1990 : LabVIEW 2.0, máximo aprovechamiento de los resultados
    • 1992 : LabVIEW 2.5, primera versión en Windows 3.1 et Solaris
    • 1993 : LabVIEW 3.0
    • 1994 : LabVIEW 3.0.1, primera versión en Windows NT
    • 1994 : LabVIEW 3.1
    • 1995 : LabVIEW 3.1.1, integración del Application Builder
    • 1996 : LabVIEW 4.0
    • 1997 : LabVIEW 4.1
    • 1998 : LabVIEW 5.0, multitarea, contenedores ActiveX, asistente para la adquisición de dato (tarjetas (DAQ) et asistente para el control de instrumentos; primera versión en Linux
    • 1999 : LabVIEW 5.1, primera versión para Linux, primera versión de LabVIEW RT (Real Time)
    • 2000 : LabVIEW 6.0, controles gráficos en 3D, referencias de controles
    • 2001 : LabVIEW 6.1, mejoramiento y correcciones
    • 2003 : LabVIEW 7.0, VI Express
    • 2004 : LabVIEW 7.1, traducción en francés, alemán et japones
    • 2005 : LabVIEW 8.0, Project Explorer, XControls, shared variables
    • 2005 : LabVIEW 8.1, mejoramiento y correcciones
    • 2006 : LabVIEW 8.20, Programación orientada a objetos
    • 2007 : LabVIEW 8.5, primera version del toolkit FPGA et del toolkit Statechart
    • 2008 : LabVIEW 8.6, limpieza automática de los diagramas

    Me falta todavia datos para algunas versiones pero en eso trabajo y todas informaciones son las bienvenudas.

    © Adrien Jolly www.ajolly.com.mx
  • La programación orientada objetos con LabVIEW

    ¿Sabía que desde la versión 8.20 de LabVIEW, que salió en 2006, es posible programar con una arquitectura objeto? Se pueden así crear clases con sus propiedades y sus métodos, como en C++, Java, C#, pascal object (Delphi) y otros lenguajes evolucionados.
    Oigo algunos de ustedes decir "pero que eso nos aporta para el desarrollo de programas informáticos de prueba, medida y control? ". Bien es cierto que para un pequeño programa informático que hace una medida o varias medidas y un tratamiento simple, el lenguaje objetos no es el mejor… ¿seguro? se piensa siempre desarrollar el programa en "one shot" y se da muy a menudo cuenta, más tarde, que es necesario hacer evolucionar el programa informático y/o recuperar una funcionalidad para integrarla en otro programa. Aquí se puede decir que la programación objeto (LVOOP en LabVIEW para LabView Oriented-Object Programming) tiene todo su interés: permite un concepto y una arquitectura más cerca del mundo físico y en consecuencia al razonamiento humano (ejemplo de asunto: un coche con sus métodos, volver, frenar, y sus propiedades, velocidad máxima, color). demás, se pueden entonces aprovechar las herramientas de modelización que permiten concebir en forma de esquemas semiformales la estructura del programa, basado por ejemplo en UML (existe un toolkit que permite eso en LabVIEW).
    © Adrien Jolly www.ajolly.com.mx
  • Wikipedia y la prueba, medida y control

    Desde 2006 contribuyo en algunos artículos en la enciclopedia libre Wikipedia, maravillosa herramienta del conocimiento (puede ver mi perfil en Wikipedia aquí: http://es.wikipedia.org/wiki/Usuario:Adrienj). Comencé redactando artículos sobre la historia y la cultura del norte de México. Pero, desde hace algún tiempo, participo, cuando tengo tiempo, agregando artículos relativos a la prueba, la medida, el control y sus distintas herramientas. Si desea participar en este esfuerzo, que no tiene más nobleza que de compartir el conocimiento, entonces no hay nada más simple que crear una cuenta en Wikipedia.
    Creé varios artículos como LabWindows/CVI, TestStand, Measurement Studio o modifiqué LabVIEW... pero muchas cosas quedan por completar y muchas otras definiciones no forman aún parte de la enciclopedia: ¡a sus teclados!
    © Adrien Jolly www.ajolly.com.mx
  • LabWindows/CVI 9.0 : variable-length arrays

    Con la puesta en práctica de la norma C99, un avance se hace en cuanto a la gestión de la memoria: la declaración de array dinámica (variable-length arrays in english).

    Me dirá, conozco la array, declaro una array de diez totalidades calculando las dimensiones con una constante del siguiente modo: int iArray [10]. Las array dinámicas, ok conozco, declaro a un indicador luego yo hago un malloc o calloc para calcularla las dimensiones con una variable, en no olvidando liberar la memoria asignada con un free al final del tratamiento.

    ¿Entonces que son las variable-length arrays? Es la posibilidad de declarar array indicando dimensiones con variables y no solamente con constantes. A continuación, dos ejemplos para ilustrar la utilización de una array dinámica: se pide al usuario calcular las dimensiones de una array que él mismo asignará, luego se indica el contenido de esa array.

    ANTES
    int iRows, iCols;
    int i, j;
    int *piArray = NULL;

    printf("Número de líneas: ");
    scanf("%d", &iRows);
    printf("Número de columnas: ");
    scanf("%d", &iCols);

    *piArray = (int*)malloc(iRows*iCols*sizeof(int));
    if (piArray != NULL)
    {
    __for (int i = 0; i < iRows;i++)
    __{
    ____for (int j = 0; j ____{
    ______piArray [i][j] = i*iCols+ j;
    ______printf("%d ", piArray [i][j]);
    ____}
    ____printf("\n");
    __}
    }
    free(piArray );
    piArray = NULL;

    AHORA
    En el código siguiente, se utiliza también otra novedad del C99: la declaración de las variables no será ya al principio de los bloques {}.

    int iRows, iCols;
    int i, j;

    printf("Número de líneas: ");
    scanf("%d", &iRows);
    printf("Número de columnas: ");
    scanf("%d", &iCols);

    int tiArray [iRows][iCols];
    for (int i = 0; i < iRows; ++i)
    {
    __for (int j = 0; j < iCols; ++j)
    __{
    ____tiArray[i][j] = i*iCols+ j;
    ____printf("%d ", tiArray[i][j]);
    __}
    __printf("\n");
    }

    Aquí, la liberación de la memoria asignada a tiArray se efectúa al final de "vida" de esta variable. Como tiArray es una variable local, es liberada al final del tratamiento de la función en la cual se declara.
    © Adrien Jolly www.ajolly.com.mx
  • Que hay de nuevo en LabWindows/CVI 9.0 : el estándar C99

    Muchas novedades están disponibles en LabWindows/CVI 9.0 sobre todo con la puesta en práctica de la última norma del lenguaje C: el C99. Pues se habrán esperado diez años, el tiempo de maduración, para beneficiarse de las ventajas de esta nueva norma.

    ¿Que aporta el C99?

    Ahí tienes la lista de estas mejoras:
    * La declaración de las variables no será ya al principio de los bloques {}.
    * Se pueden declarar array indicando dimensiones con variables y no solamente con constantes.
    * Cada elemento de la array, estructuras y uniones son ahora inicializable distinta y especialmente.
    * Los elementos de las array, estructuras y uniones podrán iniciarse con variables.
    * Nuevo tipo: las totalidades de 64 bits (long long).
    * Nuevas funciones snprintf y vsnprintf que son versiones "aseguradas" de sprintf et vsprintf evitan los rebasamientos controlando el tamaño de la cadena de entrada.
    * Los macros a N argumentos (...).
    * Adición de la variable del precompilador __func__ que contiene el nombre de la función corriente.

    Observo que esta última novedad (__func__) del C99 estaba ya presente desde hace algunas versiones de CVI.

    Enumeraré en artículos dedicados a cada aspecto del C99 para LabWindows/CVI.
    © Adrien Jolly www.ajolly.com.mx

 

Mes actualités sur Twitter

Sigueme en facebook

Adrien Jolly