Mostrando las entradas con la etiqueta optimización. Mostrar todas las entradas
Mostrando las entradas con la etiqueta optimización. Mostrar todas las entradas

martes, 31 de diciembre de 2013

Actividades 2013

Resumen: En 2013, mejoramos la capacidad de prueba con auditorías y desarrollo de nuevos procesos. Apoyamos proyectos de regulación de enfriamiento láser y optimizamos bancos de pruebas para módems xDSL, reduciendo tiempos y errores. Además, desarrollamos sistemas para medir el envejecimiento de componentes electrónicos y capacitamos en LabVIEW y LabWindows/CVI.

Durante el año 2013 las misiones de medición y prueba nos llevaron en Francia, México, Brasil, Túnez, Canadá y los Estados Unidos. Nos permitieron aumentar nuestra 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 nuestras 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.
Descubra cómo AJOLLY Testing puede aportar valor a sus proyectos:
🌐 www.ajolly.com.mx

viernes, 8 de noviembre de 2013

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.
Descubra cómo AJOLLY Testing puede aportar valor a sus proyectos:
🌐 www.ajolly.com.mx

lunes, 31 de diciembre de 2012

Actividades 2012

Resumen: En 2012, mejoramos la eficiencia en la industria brasileña con bancos de prueba TestStand y LabWindows/CVI, brindamos soporte técnico y capacitación en LabVIEW. Desarrollamos sistemas de medición para cosmética y validamos protocolos de comunicación para autómatas programables.

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
Descubra cómo AJOLLY Testing puede aportar valor a sus proyectos:
🌐 www.ajolly.com.mx

sábado, 31 de diciembre de 2011

Actividades 2011

Resumen: Impartimos capacitación en LabVIEW, TestStand y LabWindows/CVI en Túnez y desarrollamos sistemas de medición de corrientes de Foucault para centrales nucleares. Mejoramos pruebas clínicas en cosmetología y farmacología, y avancé en la termodinámica aplicada a la refrigeración. Implementamos mediciones Modbus-TCP y desarrollamos un servidor de transcodificación para PLCs, además de validar reguladores de velocidad industrial.

Iniciando el año 2012, presentamos un resumen de nuestras logros más destacados del 2011, reflejando nuestro compromiso con la excelencia y la innovación tecnológica::
  • 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.
Descubra cómo AJOLLY Testing puede aportar valor a sus proyectos:
🌐 www.ajolly.com.mx

lunes, 21 de febrero de 2011

LabVIEW 2010 y sus novedades del punto de las paletas de funciones

Resumen: LabVIEW 2010 mejora la gestión de memoria con estructuras optimizadas y nuevos iconos para variables, facilitando la programación embebida. Introduce constantes dobles directas y un diseño más compacto para booleanos. La manipulación de archivos waveform y TDMS se simplifica, y las librerías empacadas aceleran la compilación. La función de fusión de errores se optimiza para un mejor manejo de bugs. Además, se añaden funciones de flujo de red y el cliente HTTP, mejorando la transferencia de datos y la comunicación entre dispositivos. Estas actualizaciones agilizan el desarrollo de aplicaciones robustas.

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.


Descubra cómo AJOLLY Testing puede aportar valor a sus proyectos:
🌐 www.ajolly.com.mx

martes, 11 de agosto de 2009

Nuevas funciones de LabVIEW 2009

Resumen: LabVIEW 9.0 introduce mejoras significativas en controles y funciones. Destacan los nuevos controles digitales y gráficos, incluyendo gráficos 3D avanzados. En programación, se añaden adaptadores de punto fijo, manejo de matrices y preservación de clases. Las E/S en archivos se enriquecen con directorios y XML, mientras que las operaciones de señales y matemáticas se expanden con nuevas paletas y funciones. Además, se simplifica el uso de variables compartidas y se mejora la gestión de fallos y configuraciones en el motor de escaneo NI. Estas actualizaciones potencian la creación de aplicaciones más robustas y eficientes.

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

Descubra cómo AJOLLY Testing puede aportar valor a sus proyectos:
🌐 www.ajolly.com.mx

lunes, 22 de junio de 2009

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.

Descubra cómo AJOLLY Testing puede aportar valor a sus proyectos:
🌐 www.ajolly.com.mx

domingo, 11 de enero de 2009

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.

Descubra cómo AJOLLY Testing puede aportar valor a sus proyectos:
🌐 www.ajolly.com.mx

viernes, 9 de enero de 2009

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.

Descubra cómo AJOLLY Testing puede aportar valor a sus proyectos:
🌐 www.ajolly.com.mx