Universidad Tecnológica de Querétaro Firmado digitalmente por Universidad Tecnológica de Querétaro Nombre de reconocimiento (DN): cn=Universidad Tecnológica de Querétaro, o=Universidad Tecnológica de Querétaro, ou, [email protected], c=MX Fecha: 2010.12.02 14:51:22 -06'00' UNIVERSIDAD TECNOLÓGICA DE QUERÉTARO Voluntad ● Conocimiento ● Servicio PROPUESTA DE IMPLEMENTACIÓN DE UN SISTEMA DAQ, NI DAQPad™-6020E CENTRO DE INVESTIGACIÓN Y DESARROLLO CARSO, CTQ Reporte de Estadía para obtener el Título de Técnico Superior Universitario en Electrónica y Automatización JUAN PABLO RIVERA TREJO Santiago de Querétaro, Qro. Noviembre, 2010 0 1 UNIVERSIDAD TECNOLÓGICA DE QUERÉTARO Voluntad ● Conocimiento ● Servicio PROPUESTA DE IMPLEMENTACIÓN DE UN SISTEMA DAQ, NI DAQPad™-6020E CENTRO DE INVESTIGACIÓN Y DESARROLLO CARSO, CTQ Reporte de Estadía para obtener el Título de Técnico Superior Universitario en Electrónica y Automatización ASESOR DE LA EMPRESA ING. EDGARD ESCALANTE PIÑA ASESOR DE LA ESCUELA ING. SALVADOR HERNÁNDEZ GONZÁLEZ ALUMNO JUAN PABLO RIVERA TREJO Santiago de Querétaro, Qro. Noviembre de 2010 2 3 AGRADECIMIENTOS A mi Madre: Agradezco todo el apoyo que me ha brindado, no solo a lo largo de estos dos años, sino por todo el tiempo que me has dedicado incondicionalmente en lo que llevo de mi vida. Gracias por toda tu paciencia y atención hacia mí, que con las cuales he logrando así culminar mis estudios satisfactoriamente. Gracias por querer lo mejor para mí, por darme una vida con posibilidades de seguir adelante, por no dejarme caer nunca. Ahora y siempre, sé que yo no sería nada si no fuera por ti, ya que eres el pilar que sostiene mi vida. Déjame decirte que eres muy importante en mi vida y que nunca dejare de agradecerte el haberme sacado adelante. Sé que siempre has dado más de lo que podías; estaré eternamente agradecido contigo. ¿Y sabes algo?, este logro no solo es mío si no tuyo también. A mis amigos: A ellos que día a día me ofrecieron su amistad y su apoyo. Gracias por tanta motivación que me brindaron, por todas las "echadas de mano". Por todos sus apoyos, gracias. A mis maestros: A ellos que me brindaron su apoyo incondicionalmente en cada momento que llegué a necesitarlo, gracias por dotarme de conocimiento en estos poco más de dos años. 4 ÍNDICE AGRADECIMIENTOS ÍNDICE INTRODUCCIÓN CAPÍTULO I. ANTECEDENTES GENERALES DE LA EMPRESA Pág. 1.1 Antecedentes de la empresa…………………………………..…………….10 1.2 Misión……………………………………………………………………...11 1.3 Visión………………………………………………………………………12 1.4 Política de calidad…………………………………………………………..12 1.5 Organización………………………………………………………………..13 1.6 Campo de desarrollo nacional e internacional……………………………...15 1.7 Proceso general de producción……………………………………………..16 CAPÍTULO II. EL PROYECTO 2.1 Antecedentes………………………………………………………….........18 2.2 Definición del proyecto………………………………………..…………..18 2.3 Objetivo……………………………………..…………………………......18 2.4 Alcance……………………………………………………..………….......19 2.5 Plan de trabajo…………………………………………………………......19 CAPÍTULO III. MARCO TEÓRICO 3.1 Sistema de Adquisición de Datos..…………………………………………23 3.2 DAQPadTM-6020E………………………………………………………......25 3.3 Traditional NI-DAQ, Measurement & Automation Explorer…………….27 3.4 Nationals Instruments TestStand 4.2……………………………………...29 5 3.4.1 TestStand Engine…….…………………………………………31 3.4.2 TestStand Sequence Editor……………………………………..31 3.4.3 Interfaces de Usuario (User Interfaces)…………………………32 3.4.4 Adaptadores de Modulo (Module Adapters)……………………32 3.4.5 Modelos de Procesos (Process Models)………………………..32 CAPÍTULO IV. DESARROLLO DEL PROYECTO 4.1 Instalación de Traditional NI DAQ.………..……………………..…........35 4.2 Configuración del DAQPadTM-6020E…..……………………………......36 4.3. Software de Programación…………………………………………..........41 CAPÍTULO V. ACTIVIDADES DIVERSAS 5.1 Programación en Tcl………….……………………………………………55 5.2 Pruebas de Audio.………………………………………………….………61 5.3 Pruebas de Código……………………………………………………..…...61 CAPÍTULO VI. EVALUACIÓN ECONÓMICA Y RESULTADOS OBTENIDOS 6.1 Evaluación económica……………………………..…………………….....63 Resultados obtenidos…………………………………………………………...64 CONCLUSIONES Conclusiones……………………………………………………………………66 BIBLIOGRAFÍA Bibliografía y/o páginas consultadas en Internet ………………………………68 6 GLOSARIO Glosario..……………………………………………………..………………..69 ANEXOS NI TestStand System and Architecture 7 INTRODUCCIÓN El presente trabajo describe sobre la Propuesta de Implementación de un Sistema DAQ de NI DAQPad-6020E, cuya finalidad es hacer tangible la posibilidad de automatizar pruebas en un Sistema de Audio y Navegación en el Área de prueba; dicho proyecto se realizó durante el periodo de estadía septiembre-diciembre 2010 y es un requisito indispensable para culminar los estudios de Técnico Superior Universitario y el proceso de titulación. La importancia de este proyecto inside sobre el area de pruebas ya que es en este lugar de donde surge la necesidad de el poder automatizar las pruebas realizadas allí ya que a causa de ello la productividad del recurso humano no se aprovecha correctamente. Las partes principales del proyecto están descritas en los capítulos de este documento, que en resumen se pueden mencionar algunas de ellas tales como el software Traditional NI-DAQ, el cual se emplea para instalar el dispositivo DAQ con el que se basa la propuesta de implementación para automatizar el area de pruebas, también se hace mención de el software NI TestStand con el cual se desarrollara el código de programación del dispositivo DAQ; entre otras partes mas que son piezas fundamentales para este proyecto. 8 CAPÍTULO I CENTRO DE INVESTIGACIÓN Y DESARROLLO CARSO, CTQ 9 El Capítulo I trata sobre El Centro de Investigación y Desarrollo Carso, Centro Técnico Querétaro, donde se desarrolló el proyecto y sobre los antecedentes de la empresa y sus procesos de producción. 1.1. Antecedentes generales de la empresa1 El Centro de Investigación y Desarrollo CARSO, Centro Técnico Querétaro (CIDEC, CTQ) es un centro de investigación que tiene un compromiso de innovación y servicio del Grupo Condumex. Grupo Carso (GCarso) se constituyó en 1980, bajo la denominación de Grupo Galas, S.A. de C.V. Entre 1980 y 1990 adquirió la mayoría de las acciones de Cigatam, Artes Gráficas Unidas, Fábricas de Papel Loreto y Peña Pobre (LyPP), Galas de México, Sanborns Hnos. Empresas Frisco, Industrias Nacobre y Porcelatine. En mayo de 1990, Corporación Industrial Carso se fusionó con la empresa, cambia su denominación a Grupo Carso (GCarso) y aumenta su participación en Sanborns, Frisco y Nacobre. En junio de ese mismo año se llevó a cabo una colocación de acciones de GCarso en la BMV. En diciembre de 1990 GCarso, junto con Southwestern Bell Internacional Holding Corp., France Cables Et Radio, y un grupo de inversionistas, adquiere, mediante licitación, el control de Telmex en 1992. GCarso compró la mayoría de las acciones de Condumex y la mayoría de las acciones de Grupo Aluminio. Grupo Condumex es uno de los conglomerados industriales más importantes de México. Desde 1954, año en que se inician operaciones, ha sido el principal fabricante de conductores eléctricos del país. Desde entonces se ha consolidado su presencia nacional e internacional, y actualmente se cuenta con representación en más de 40 naciones. Las actividades de las empresas se enfocan en 6 sectores de negocios: Autopartes, Cables, Electrónica, Energía y Proyectos Integrales, Instalaciones y Nacobre. 1 El contenido del capítulo II de este reporte se encuentra redactado en los términos estipulados por la empresa. 10 Desde su fundación, el interés en la investigación y desarrollo de tecnología ha caracterizado la trayectoria de GRUPO CARSO. Para apoyar este propósito se creó el Centro de Investigación y Desarrollo Carso (CIDEC), institución de excelencia tecnológica orientada a la creación de nuevos productos, desarrollo de compuestos y materiales, diseño, optimización y mejora de productos, procesos y sistemas. Entre los objetivos del CIDEC, se encuentra de manera sistemática la mejora continua en el desarrollo de productos, los procesos de lean manufacturing, la reducción de costos y la aplicación de innovaciones tecnológicas; todo ello, enfocado siempre a la completa satisfacción de los clientes de las empresas del Grupo, basado en gestiones de diseño robusto y lean development. El Centro Técnico Querétaro (CTQ) es un ejemplo del compromiso de innovación y servicio del Grupo Condumex, pues se encuentra conectado en tiempo real con los centros de diseño de nuestros clientes, fabricantes de automóviles en los cinco continentes. Su historia se remonta a 1983 año donde consolida la sociedad entre Delphi Packard Electric y Grupo Condumex, generando varios negocios como el cable automotriz, amortiguadores, arneses eléctricos y los servicios de ingeniería. En 1993 comienza el Centro Técnico con el área de diseño de componentes, cinco años después en 1998, inicia el giro de desarrollo de software embebido. 1.2. Misión Contribuir al logro de los objetivos de rentabilidad, crecimiento y consolidación de nuestros clientes y accionistas a través del diseño de sistemas mecánicos, eléctricos y electrónicos. 11 1.3. Visión 1. Ser la mejor opción en calidad, servicio, costo y tecnología para nuestros clientes y accionistas. 2. Ser rentables (utilidad de operación y/o relación costo / beneficio). 3. Ser los promotores de la innovación tecnológica para la mejora de la rentabilidad. 4. Ser altamente competitivos en: - Desarrollo de sistemas eléctricos/electrónicos e iluminación en el mercado automotriz global. - Desarrollo de software embebido para diseño y de mejora de procesos. - Desarrollo de pruebas de software y sistemas. - Diseño de componentes para nuevos productos y aplicaciones automotrices. - Desarrollo de sistemas de manufactura y logística. - Desarrollo y/o adaptación de nuevos productos. - Desarrollo de sistemas de calidad, garantías, ambientales, seguridad e higiene. 5. Ser una excelente opción laboral para nuestro personal. 6. Tener un mutuo beneficio con nuestros proveedores. 7. Cuidar el entorno. 1.4. Política de calidad Política divisional Unificada de Calidad, Ambiental, Salud y Seguridad. Conscientes de nuestra responsabilidad ante los clientes, accionistas, trabajadores y la sociedad, todos los que integramos la división de Arneses y Logística nos comprometemos a: 1. Satisfacer a nuestros clientes y accionistas proporcionando productos y servicios que cumplan con los requisitos de calidad, costos, entregas, tecnologías y medio ambiente de nuestros clientes, buscando hacer crecer el negocio. 12 2. Trabajar en equipo bajo un sistema disciplinado, constante y de mejoramiento continuo para cumplir nuestros objetivos y metas. 3. Prevenir los riesgos de trabajo, asegurando que las condiciones de seguridad e higiene en el trabajo cumplan con la normatividad legal vigente. 4. Prevenir la contaminación a la atmosfera, agua, suelo, y el uso o afectación de recursos naturales. 5. Evaluar el impacto ambiental de nuestras actividades y reducirlo estableciendo medios de control apropiados. 6. Cumplir con la normatividad legal, los requisitos de las dependencias gubernamentales y otros aplicables a nuestros productos, procesos y condiciones de trabajo. Aprobó: Director División Arneses y Logística Revisión (1) Fecha: 2005 12 27 1.5. Organización Las áreas que integran el CTQ son: Electrical/Electronic Distribution Systems (Sistemas de Distribución Eléctrica y Electrónica) -SDEE-: Desarrolla productos automotrices por medio de sistemas de ingeniería, calidad y diseño desplegados desde la planeación hasta la validación del producto, cumpliendo requisitos de calidad, servicio, costo, tecnología y medio ambiente. Connection Systems & Component Design (Diseño de Componentes y Sistemas de Conexión) -CSCD-: Área enfocada a la ingeniería en Diseño Mecánico aplicando tecnología tridimensional para el desarrollo de todo tipo de componentes de la industria automotriz, telecomunicaciones, electrodomésticos, entre otros; así como moldes de inyección de plástico, dispositivos para manufactura y pruebas. 13 Electronics and Safety (E&S): Desarrollo de Software embebido para aplicaciones automotrices y de mejora de procesos. La mayoría de los proyectos son de exportación y realiza ingeniería simultánea con otros Centros Tecnológicos en México, Estados Unidos, Sudamérica, Europa y Asia. Ingeniería Industrial: El área tiene como servicios el diseño e implantación de lay-out, análisis de capacidad, diseño y optimización de almacenes, desarrollo de métodos para obtener incremento de operación y reducción de desperdicios. Contraloría (CO).- El área contable administra los recursos económicos y activos de la empresa. Tecnologías de la Información (TI).- Administra los recursos tecnológicos que requiere la organización: computadoras, software, conmutador, correos electrónicos, antivirus, respaldos, claves y contraseñas; además proporciona servicio de mantenimiento a computadoras y demás equipos tecnológicos. Recursos Humanos (RRHH): Está dividida en cuatro departamentos: - Nóminas.- se encarga de gestionar los pagos al personal, además de mantener al corriente todas las cuestiones normativas referentes al IMSS, SAR, Infonavit y otros. - Entrenamiento.- genera y controla los planes de capacitación de todas las áreas; administra la base de datos de las evaluaciones de desempeño (PBP), cursos, difusiones y registros de entrenamiento. - Reclutamiento.- gestiona todo lo relacionado con la selección y reclutamiento del personal. - Comunicación.- se encarga de proporcionar y administrar las herramientas de comunicación interna, así como de organizar eventos de motivación y concientización. 14 El diagrama 1.2. muestra el organigrama del CTQ. 1.1. Organigrama General del Centro Técnico Querétaro. 1.1. Campo de desarrollo nacional e internacional El Grupo CARSO es una organización de clase mundial, ya que está presente en los cinco continentes, pues la integran diversas empresas y compañías que se encuentran ubicadas en los distintos países de los cinco continentes, el CIDEC se encuentra presente en los países de EEUU, México, Guatemala, Canadá, Chile, Brasil, Argentina, Alemania, España, China y Japón, de esta forma el CIDEC se convierte en un Centro de Investigación de clase mundial altamente competitivo contra otros Centros de Investigación. En el diagrama 1.2 se aprecian los distintos corporativos que integran el Grupo CARSO. 15 1.2. Integración CARSO. 1.2. Proceso general de producción El Centro Técnico Querétaro apoya las operaciones de las empresas fabricantes de autopartes de Grupo Condumex, mediante el desarrollo de software, componentes, arneses, electrónica, a través de las herramientas adecuadas y los sistemas de logística y control de calidad, así como desarrollo de programas automotrices, diseño e implantación de Lay-out, análisis de capacidad, diseño y optimización de almacenes, desarrollo de métodos para obtener incremento de operación y reducción de desperdicios, desarrollo de todo tipo de componentes de la industria automotriz, telecomunicaciones, electrodomésticos, entre otros; así como moldes de inyección de plástico, dispositivos para manufactura y pruebas, Desarrollo de Software embebido para aplicaciones automotrices y de mejora de procesos, Automatización y mejora de procesos de diseño y manufactura. 16 CAPÍTULO II PROPUESTA DE IMPLEMENTACIÓN DE UN SISTEMA DAQ, NI DAQPad™-6020E 17 En el Capítulo II se describen gráficamente las actividades que se desarrollaron dentro del ciclo comprendido de Septiembre-Diciembre de 2010, periodo en que se realizó el proyecto; también hace mención de los antecedentes, objetivo y alcance del mismo. 2.1. Antecedentes La necesidad de esta propuesta de implementación surge a partir de los retos que se presentan en la industria automotriz de tener productos con ciclos de desarrollo más cortos pero a las vez libres de defectos; este reto nos impulsa a buscar nuevas y mejores maneras para asegurar que el Software desarrollado por la Empresa cumpla con los requisitos del cliente. Una las actividades que consume mucho tiempo y recurso humano; algo que es a la vez muy importante en el desarrollo del Software son las pruebas de verificación del producto; es aquí donde se enfoca el desarrollo de la propuesta para el proyecto que busca reducir el tiempo y recursos invertidos en pruebas de Software a través de un sistema DAQ. 2.2. Definición del proyecto Al proyecto se le consigno el hacer tangible la posibilidad de automatizar el Área de pruebas, proponiendo una manera de implementar el Sistema de Adquisición de Datos de NI DAQPad-6020E para medir variables de interés en un Sistema de Audio y Navegación automotriz y de esta manera no tomar demasiado tiempo en el cuidado del equipo mientras se realizan todas las series de pruebas. 2.3. Objetivo Proponer una forma de Implementar un sistema de Adquisición de datos para medir variables de interés en un Sistema de Audio y Navegación Automotriz con la finalidad de que sirva como retroalimentación para automatización de pruebas de software y hardware de algunos procesos que se realizan dentro del Centro de Investigación, y de 18 esta forma reducir largas horas de pruebas con el equipo bajo supervisión del recurso humano. 2.4. Alcance Al concluir la propuesta, se espera y se pretende no solo buscar sino encontrar mejoras en los ciclos de desarrollo de productos y que conlleve a un entorno de productividad no sólo en el Área de pruebas (donde se ocupa mucho el realizarlas y cuidar que el equipo no sufra alteraciones durante dichas pruebas, ya que de esta forma se puede aprovechar el tiempo realizando otras actividades de mayor relevancia y así obtener la generación de mayor productividad por parte del recurso humano dentro de la empresa, cumpliendo a la par los siguientes objetivos: 1. Cumplir con la demanda de la propuesta de instalación e implementación del Sistema DAQ. 2. Identificación y acondicionamiento de señales para las variables de interés. 3. Automatizar el Área de pruebas. 4. Hacer tangible la posibilidad de automatizar un área de la empresa. 2.5. Plan de trabajo En la tabla 2.1. se observa el plan de trabajo, en donde se plantean cada una de las actividades que se desarrollaron durante el transcurso del Proyecto, así como el tiempo que duro cada una de ellas, desplegadas en una Grafica de Gantt. 19 Tabla 2.1. Grafica de Gantt. 20 Tabla 2.1. Grafica de Gantt (continuación) 21 CAPÍTULO III MARCO TEORICO 22 Los Capítulos III y IV brindan la información en relación al proyecto, el área donde se realizo y todas las actividades que se realizaron en torno a el mismo, las cuales se describen en el Capítulo II, así mismo algunos de los problemas que giraron en torno al desarrollo del proyecto. 3.1. Sistema de adquisición de datos2 El propósito de la Adquisición de Datos es medir un fenómeno eléctrico y/o físico como voltaje, corriente, temperatura, presión, sonido, etc., convertirlas en tensiones eléctricas y digitalizarlas de manera que se puedan procesar en una PC. La adquisición de datos basada en PC utiliza una combinación de hardware modular, software de aplicación y una PC para realizar medidas y visualizar las variables. Mientras cada sistema de adquisición de datos se define por sus requerimientos de aplicación, cada sistema comparte una meta en común de adquirir, analizar y presentar información. Los sistemas de adquisición de datos incorporan señales, sensores, actuadores, acondicionamiento de señales, dispositivos de adquisición de datos y software de aplicación. El Hardware DAQ corresponde a la interface entre la señal y una PC. Podría ser en forma de módulos que pueden ser conectados a la computadora de los puertos (paralelo, serie, USB, GPIB, etc.) o ranuras de las tarjetas conectadas a (PCI, ISA) en la placa madre. Por lo general, el espacio en la parte posterior de una tarjeta PCI es demasiado pequeño para todas las conexiones necesarias, de modo que una ruptura de caja externa es obligatoria. El cable entre este recuadro y el PC es cara debido a los numerosos cables y el blindaje necesario y porque es exótico. Las tarjetas DAQ a menudo contienen múltiples componentes (multiplexores, ADC, DAC, TTL-IO, temporizadores de alta velocidad, memoria RAM). Estos son accesibles a través de un bus por un micro controlador, que puede ejecutar pequeños programas. El controlador es más flexible que una unidad lógica dura cableada, pero más barato que una CPU de modo que es correcto para bloquear con simples bucles de preguntas. 2 Las fuentes consultadas para estos subtemas se mencionan en la bibliografía, algunos de ellos fueron consultados de la pagina de NI htto//;www.ni.com. 23 Otro elemento que forma parte de el DAQ es el Driver software que normalmente viene con el hardware DAQ, y permite que el sistema operativo pueda reconocer el hardware DAQ y dar así a los programas acceso a las señales de lectura por el hardware DAQ. En la figura 3.1. se puede apreciar la constitución de la Adquisición de Datos basada en PC. Figura 3.1. Adquisición basada en PC. Algunas ventajas de realizar la Adquisición de Datos es tener flexibilidad de procesamiento, posibilidad de realizar las tareas en tiempo real o en análisis posteriores (a fin de analizar los posibles errores), gran capacidad de almacenamiento, rápido acceso a la información y toma de decisión; se adquieren gran cantidad de datos para poder analizar, posibilidad de emular una gran cantidad de dispositivos de medición y activar varios instrumentos al mismo tiempo, facilidad de automatización, etc., ya que se utiliza en la industria, la investigación científica, el control de máquinas y de producción, la detección de fallas y el control de calidad entre otras aplicaciones. 24 3.2. DAQPadTM-6020E El DAQPad-6020E es un dispositivo USB de Adquisición de Datos de la familia ESeries de NI. Es un USB compatible con multifunciones analógicas, digitales e I/O de temporizadores. Contiene un ADC con una resolución de 12 bits, con 8 entradas diferenciales/16 entradas de una sola terminal, 2 DACs con resolución de 12 bits con salida de voltaje, 8 líneas TTL compatibles con I/O digitales, y 2 timers de 24 bits para I/O de temporizadores. Este dispositivo cuenta con un conector I/O el cual contiene 68 pines de los cuales se derivan las señales ya mencionadas. Las entradas analógicas del DAQPad-6020E se configuran por medio del software Traditional NI-DAQ, donde se selecciona uno de los tres diferentes modos de entrada: Entrada de simple terminal no referenciada (nonreferenced single-ended input NRSE); utiliza hasta 16 canales; Un Canal configurado en modo NRSE usa una Linea de ACH (ACH<0…15>), la cual se conecta a la entrada positiva de el dispositivo de ganancia programable del Amplificador de Instrumentación (Programable Gain Instrumentation Amplifier – PGIA), la entrada negativa del PGIA se conecta a la señal AISENSE (Analog Input Sense). Entrada de simple terminal referenciada (referenced single-ended input - RSE); utiliza hasta 16 canales; Un Canal configurado en modo RSE usa una Linea de ACH , la cual se conecta a la entrada positiva de el PGIA, la entrada negativa de el PGIA es internamente atada a la señal AIGND (Analog Input Ground) Entrada diferencial (differential input - DIFF); utiliza hasta 8 canales; un canal configurado en modo DIFF, usa dos líneas de ACH, una de ellas conectada a la entrada positiva del PGIA, y la otra conectada a la entrada negativa del PGIA. El PGIA (Programable Function Instrument Amplifier) es un amplificador que aplica ganancia y rechazo de voltaje en modo común y presenta una alta impedancia de entrada para las señales de analógicas conectadas al dispositivo. Las señales son enviadas a la entrada positiva y negativa del PGIA a través de la entrada del multiplexor en el 25 dispositivo. El PGIA convierte dos señales de entrada a una señal que resulta ser la diferencia entre las dos señales de entrada multiplicada por el ajuste de ganancia del Amplificador. La salida del Amplificador es referenciada a la tierra del dispositivo. El ADC del DAQPad-6020E mide esta salida de voltaje cuando realiza conversiones A/D. Además de los Canales de entradas analógicas (ACH) y las Entradas/Salidas Digitales (DIO), el DAQPad-6020E cuenta con 10 pines denominados PFI (Programable Function Input), los cuales son usados para que el dispositivo se conecte con dispositivos externos, es decir, para controlar y ser controlado por otros dispositivos o circuitos; cada uno de ellos está conectado a la señal del multiplexor por cada señal de tiempo, cabe mencionar que por medio del software se puede seleccionar una de las PFIs como alimentación externa para una señal de sincronización de tiempo determinado, además de que cualquiera de los PFIs puede ser usado como una entrada de cualquiera de las señales de tiempo y las múltiples señales de tiempo pueden usar el mismo PFI de forma simultánea, así como también se puede habilitar cada uno de estos pines individualmente como señal de salida de un temporizador interno. Estos PFIs son bidireccionales, como salidas no son programables y reflejan el estado de mucha adquisición de datos, generación de ondas senoidales, y señales de tiempo de propósito general. Como entradas, las PFIs son programables y pueden controlar cualquier adquisición de datos. El conector que utiliza este dispositivo es el 68-Pin MIO I/O Connector. Este conector está acoplado a una caja de tipo prueba (propiedad de la empresa)3, la cual tiene expuestos bornes los cuales están soldados a las terminales de los pines del conector para el DAQPad-6020E, esto con el fin de que tanto las pruebas como la implementación resultara más eficiente hacerlas y no perder tiempo haciendo conexiones con cables sueltos ya que si se llegase a presentar un ligero contacto entre terminales donde se pudiera presentar un corto, el cual podría dañar el equipo. 3 La caja de pruebas que se utilizaría en la propuesta implementación es propiedad de la empresa y es por ello que este documento no contiene información que lo comprometa inadecuadamente con la empresa. 26 La figura 3.2. muestra la distribución de los pines así como el nombre de cada una de las señales que son proporcionadas por el dispositivo. Figura 3.2.Pinout del DAQPadTM-6020E. 3.3. Traditional NI-DAQ, Measurement & Automation Explorer. Traditional NI-DAQ es una librería de rutinas que trabaja con dispositivos DAQ de NI, ayuda a realizar tareas que van desde la simple iniciación de dispositivos hasta registros avanzados de datos de alta velocidad. 27 Figura 3.3. Measurement & Automation Explorer. Measurement & Automation Explorer (MAX), figura 3.3., es una aplicación basada en Windows en la cual se puede configurar y visualizar las herramientas de Nationals Instruments DAQ bajo los sistemas operativos Windows 2000/NT/XP/Mc/98. A través del software MAX se realiza la configuración deseada para que la tenga el dispositivo tales como los modos de entrada de los Canales analógicos y las salidas digitales ya sea bipolar, unipolar, referenciado o no referenciado, esto con la ayuda de una herramienta propiedad de MAX llamada Test panel, el cual se muestra en la figura 3.4., también a través de este panel se pueden visualizar las todo el tipo de señales ya sean Entradas/Salidas Analógicas, señales de timers externos o internos, incluso por medio de este panel se puede habilitar los Timers y las I/O Digitales. 28 Figura 3.4.Test Panel. 3.4 Nationals Instruments TestStand 4.2. En la parte del proyecto que comprende que software o tipo de lenguaje se podría utilizar para la implementación del sistema DAQ, al cabo de varias fuentes de información entre las cuales se encuentran documentos del Browse Device Documentation que se encuentra en el directorio de NI-DAQ, se concluyo que el software NI TestStand sería el adecuado para la implementación, a continuación se explican las razones del por que se haría uso de este software. La figura 3.5. muestra la página principal del software TestStand 4.2 29 Figura 3.5. TestStand. NI TestStand se eligió para esta propuesta de implementación ya que es un software flexible de gestión de pruebas que ofrece: Numerosos métodos de modificación, configuración, y adición de nuevos componentes, que proporcionan extensibilidad para que se puedan crear un ejecutor de prueba que cumpla con los requisitos específicos sin alterar el núcleo de TestStand Engine. Sofisticada secuencia, ejecución y compatibilidades de debugeo, y un poderoso editor de secuencia que se separa desde los usuarios de interface. Controles de interface de usuario para crear interfaces personalizadas de usurario y editores de secuencia. 30 Puede crear interfaces de usuario en cualquier lenguaje de programación que pueda alojar controles ActiveX o servidores de control de automatización ActiveX. Un lenguaje de interface abierto que proporciona soporte para muchos entornos de aplicaciones de desarrollo (Application Development Enviroments_ADEs) Una comprensiva aplicación de interfaz de programación para la construcción de sistemas de test multiprocesos y otras sofisticadas aplicaciones test. Desarrollo de herramientas para la ayudar en transferir un sistema test desde desarrollo a producción. Ejemplos de interfaces de usuario con códigos de fuente para National Instruments LabVIEWTM/CVITM, Microsoft Visual Basic .NET, C# y C++. Los principales componentes de software de TestStand4 incluyen el TestStand Engine, el TestStand Sequence Editor, Interfaces de usuario (User Interfaces), Adaptadores de módulo (Module Adapters) y modelos de proceso (Process Models). 3.4.1. TestStand engine Es un conjunto de librerías de vínculos dinámicos (Dynamic Link Libraries – DLLs) que exportan una extensiva Interface ActiveX de Programación de Aplicaciones para Automatización (ActiveX Automation Application Programming Interface – API) para crear, editar, correr y debugear secuencias. 3.4.2. TestStand sequence editor El Sequence Editor es un entorno de desarrollo que se utiliza para crear, modificar, ejecutar y debugear secuencias, también se puede usar para modificar tipos de pasos y modelos de procesos, incluso ejecutar diferentes secuencias al mismo tiempo. 4 La información sobre los conponentes de TestStand se consulto en el manual NI TestStand Reference Manual, el cual esta incluido en el paquete de instalación del software. 31 3.4.3. Interfaces de usuario (User Interfaces) Una Interface de usuario es una aplicación que provee una Interface de usuario gráfica (GUI) para ejecutar secuencias en una estación de producción; están destinadas para usar con editores de desplegado de secuencias personalizadas o sistemas de prueba y tienen por objeto proteger la integridad de las secuencias de prueba. 3.4.4. Adaptadores de módulo (Module Adapters) Los pasos en una secuencia de TestStand pueden invocar código en otra secuencia o en un modulo de código. Cuando se invoca código en un módulo de código, TestStand usa un adaptador de modulo para determinar el tipo del código del módulo, convenciones de llamada para el modulo de código, la lista de parámetros que el módulo de código requiere y como pasar parámetros a el módulo de código. Se pueden utilizar los siguientes tipos de códigos de módulo: LabVIEW Instrumentos Virtuales (Virtual Instruments - VIs). Funciones en código fuente C, archivos objeto, o librerías de módulos creadas en LabWindows/CVI. C/C++ Funciones en DLLs. Objetos en ensambladores .NET. Objetos de servidores ActiveX de Automatización. Subrutinas en HTBasic. 3.4.5. Modelos de procesos (Process Models) Probando una Unidad bajo prueba (Unit Under Test – UUT) requiere más que solo ejecutar un conjunto de pruebas. El sistema de administración de prueba debe también realizar una serie de operaciones antes y después de la ejecución de la secuencia de prueba para manejar las tareas comunes de sistema de pruebas tales como identificar la 32 UUT, notificar al operador el estatus de pass/fail, generando un reporte de prueba así como el registro de resultados. Estas operaciones definen el proceso de prueba, y al conjunto de operaciones y el flujo de ejecución es llamado un Modelo de proceso. Con modelos de proceso se pueden escribir diferentes pruebas de secuencia sin repetir las operaciones estándar de prueba en cada secuencia, se puede modificar el modelo de proceso para adaptarse a las necesidades de prueba que se soliciten. 33 CAPÍTULO IV DESARROLLO DEL PROYECTO 34 4.1. Instalación de Traditional NI-DAQ En primer lugar, se debe averiguar que tipo de DAQ se utilizará en una aplicación determinada, así como adquirir información sobre su funcionamiento, características y áreas de aplicación. Lo que se realizo como primera actividad fue recopilar información sobre el dispositivo DAQ que fue proporcionado por la empresa y en base a ella verificar los pasos de instalación del driver del DAQ en una PC, puesto que el dispositivo en el cual se basaría la propuesta seria el DAQPadTM-6020E Half-size box, que es para uso de escritorio. Este paso resultó sencillo ya que el CD5 de instalación del software asesora durante la instalación con el fin de obtener una instalación exitosa del mismo. El DAQPad-6030E contenía dos discos, uno con el driver y el segundo con el explorador de documentos, el cual contiene una serie de documentos de consulta que auxilian y brindan apoyo para iniciar por primera vez el software del DAQ. Con el disco del software en la PC, aparece en la pantalla la página principal para comenzar la instalación del software, la cual se muestra en la figura 4.1. Figura 4.1. Página principal de NI-DAQ. 5 El dispositivo DAQ, en el contenido de sus accesorios se incluían dos CDs, el primero con los drivers y software de configuración del DAQ, y el segundo con un explorador de documentos para auxiliarse. 35 El documento que se debe consultar dentro del CD es el Readme File, ya que este contiene unas tablas donde se presentan brevemente los lenguajes que soporta el driver del DAQ, así como los dispositivos que son soportados por los dos de los drivers que vienen en el documento. Dichos softwares son el Traditional NI-DAQ y NI-DAQMx, por medio del Readme File6 se planteó que el software que se utilizaría sería el Traditional NI-DAQ, ya que en ese documento están las especificaciones de que dispositivos son soportados por cada uno de los softwares. Al concluir la instalación del software, en el escritorio aparece el icono de Measurement & Automation (figura 4.2.) por medio del cual se podrá configurar el DAQ que se utiliza en el desarrollo de esta propuesta. Figura 4.2. Icono de MAX. 4.2. Configuración de DAQPadTM-602E Como se mencionó la configuración del DAQ se hace a través del programa Measurement & Automation, en donde se aprecian los dispositivos que se encuentran conectados a la PC donde se instaló el driver, tal como lo muestra la figura 4.3. 6 El segundo CD de Explorador de documentos contiene un documento .HTML que describe que dispositivos y lenguajes son compatibles con los softwares de NI-DAQ. 36 Figura 4.3. Página principal MAX. Con ayuda de este programa la propuesta de implementación puede ser de libre personalización, dependiendo a las necesidades del usuario que vaya a utilizar la implementación ya que no todas las pruebas son similares, el dispositivo puede tener diferentes configuraciones, es por ello que se utiliza el MAX para hacer dichas configuraciones. La figura 4.4. muestra la pestaña de la ventana principal de MAX para poder configurar los canales de entrada. En esta ventana que se despliega dando clic a la pestaña de Analog Input, se pueden configurar los canales de entrada ACH<0…15> para tener una presentación gráfica en la ventana de MAX. Cabe mencionar que se puede modificar la resolución de la gráfica de auto escala a escala completa y los rangos de diferencia de potencial. Así como la velocidad de adquisición de la señal de un determinado canal. 37 Figura 4.4. Configuración entradas analógicas. Otra configuración que se puede hacer manualmente es la que se encuentra en la pestaña de Analog Output, figura 4.5., donde se pueden configurar las dos salidas analógicas AOCH<0, 1> del dispositivo para alimentar circuitos externos, estas salidas se pueden configurar como salidas simples de tensión con referencia a la tierra digital DGND o como generadores de ondas senoidales. 38 Figura 4.5. Configuración salidas analógicas. En la figura 4.6. se aprecia la forma de configurar los dos contadores GPCTR<0, 1> del DAQ. Estos pueden ser de utilidad si la aplicación a desarrollar a partir de la propuesta de implementación requiriera contadores externos. La última parte que conforma la configuración del DAQ es la configuración de las entradas y salidas digitales DIO<0…7>, los estados lógicos de dichas I\O están ubicadas en la última pestaña de Panel de prueba de MAX, tal como se muestra en la figura 4.7. 39 Figura 4.6.Configuración de los contadores. Figura 4.7. Configuración de I/O digitales. 40 Dependiendo del tipo de prueba que se vaya a realizar, se determina una configuración que este bajo los lineamientos de las pruebas, el uso de este software resulta fácil para aplicaciones donde no se requiere ocupar todas las funciones del DAQ. 4.3. Software de programación Por la información recopilada se supo que el dispositivo DAQPad-6020E utiliza varios lenguajes de programación, los más comunes fueron los que tienen como base C, es por ello que la propuesta de implementación eligió un software que utiliza diversas interfaces para programar y adaptadores de módulos para poder acoplarse a varios lenguajes. Tales como LABView, LABWinowsTMC/CVITM, .NET, ActiveX, etc., dicho software que se propone es el NI TestStand, este software, al igual que el MAX se tuvo que instalar en la PC, ambos programas son indispensables si se quiere utilizar diversos lenguajes como los soportados por TestStand. Para comenzar con este punto del proyecto, el software resulto de una comprensión sencilla ya que se leyó un manual que explicaba pequeñas aplicaciones que iban a la par con su respectiva práctica en el programa. Para iniciar con este programa, este le pide al usuario que elija el usuario y que ingrese su password, como se muestra en la figura 4.8. 41 Figura 4.8. Ventana de usuario/password. El usuario así como el password se pueden configurar y se le pueden aplicar distinto privilegios a los usuarios elaborados dentro del programa; por defecto, el programa daba el usuario “administrador”, pero se decidió cambiar por el nombre del practicante y de igual forma se le concedieron todos los privilegios de administrador, esta configuración de usuario se puede apreciar en la figura 4.9. 42 Figura 4.9. Usuarios y su configuración. Después de ingresar con un nombre y clave de usuario, se puede comenzar con la programación del DAQ. Cabe mencionar que la propuesta maneja este programa para que diversos usuarios utilicen este procedimiento para aplicarlo a las diversas pruebas que se realizan en la empresa, ya que por ejemplo un usuario puede tener mayor manejo de C/C++ y otro de LABView, así que es bastante eficiente TestStand pues los usuarios pueden utilizar diversos lenguajes dependiendo de la comodidad de los mismos para manejar su propio lenguaje, para que estén forzados a usar un lenguaje de programación que del cual no puedan llegar o lleguen a conocer lo suficiente para adaptarse rápidamente a el código de programación y tenerlo en tiempo eficiente para programarlo 43 al DAQ e implementarlo en las pruebas, y no perder tiempo para comprender el lenguaje que no se llegue a conocer, es así como TestStand es adaptable a cualquier usuario que desee utilizarlo en sus pruebas ya sea de audio, navegación o cualquier otra que se realice dentro de la empresa. La figura 4.10. muestra el área de pruebas donde la propuesta de implementación del DAQ toma énfasis. Figura 4.10. Área de pruebas.7 El equipo en donde el DAQ se implementaría se puede apreciar en la figura 4.11. Figura 4.11. Equipo de pruebas.7 7 Este documento no contiene una información ni imágenes bastas sobre el equipo y área de pruebas ya que se estarían violando las políticas de seguridad establecidas en la empresa. 44 Como ya se mencionò, previo a la selección de el programa TestStand, se realizaron varias pruebas con el equipo de audio y navegación donde se observaron las variables de interés que la propuesta pretendía medir por medio del DAQ, las actividades diversas hacen referencia a las pruebas que se realizaron y que también formaron parte del desarrollo de la propuesta de implementación. Volviendo al asunto del programa, TestStand es sencillo de usar ya que su sintaxis es casi similar a un diagrama de bloques. Èsto se puede apreciar en la figura 4.12., ya que incluso dentro del software se pueden insertar directamente pasos o “steps”, como se hacen llamar en TestStand. Figura 4.12.Steps en TestStand. Inclusive TestStand tiene las funciones de flujo convencionales tales como for, while, if, else, foreach, etc., las cuales brindan también una gran ayuda para realizar la 45 programación más sencilla ya que estas funciones de flujo están marcadas por su respectiva simbología, como se observa en la figura 4.13. Figura 4.13. Funciones de flujo en TestStand. Además de las funciones que incluye TestStand, es obligatorio utilizar las funciones del sistema DAQ, y al igual que las interfaces de TestStand, Traditional NI-DAQ utiliza funciones basadas en varios lenguajes de programación, las cuales se pueden ligar con la función sequence call de TestStand la cual es una de las funciones de TestStand. En la 46 figura 4.14. se puede apreciar como MAX forma parte de una herramienta de TestStand. Figura 4.14. Esto ayudará al usuario a tener mejor manejo al configurar y desarrollar la programación del DAQ. Al término del desarrollo de la programación del DAQ el usuario puede comenzar a correr la secuencia con la barra de ejecución mostrada en la figura 4.15. Figura 4.15. 47 Esta barra sirve para manipular los ejecuciones de los pasos de una secuencia. El botón de Ejecutar Test (botón verde) es el que servirá para ejecutar toda la secuencia (figura 4.17.). Al iniciar una ejecución, el software pide un número de serie (figura 4.16.) Figura 4.16. Numero de serie. Figura 4.17. Ejecución de secuencia. 48 Al término de toda ejecución, TestStand genera un reporte automáticamente, en el cual se despliega la información de la ejecución, ya sea que ésta haya resultado fallida, figura (4.18.) o aprobada (figura 4.19.). Figura 4.18. Secuencia fallida. Figura 4.19. Secuencia Aprobada. 49 Cabe mencionar que cada usuario puede configurar el tipo de reporte que se genere de una forma personalizada, esto con el menú Configure>Report Options (Figura 4.20.). Figura 4.20. Menú configure. En TestStand, el reporte generado después de la ejecución de un código, puede configurarse de tal forma que tome diversas extensiones de formato tales como .HTML, .ASCII, .XML, ATML; con el fin de que no tenga un formato estándar y el usuario pueda seleccionar uno de estos por defecto, esto también se realiza desde la ventana de Report Options (figura 4.21.). 50 Figura 4.21. Opciones de reporte. Los reportes generados en TestStand también se pueden ligar a programas compatibles los cuales ya están instalados en el sistema operativo, para redactar los reportes de TestStand. Estos programas deben estar instalados en el sitema operativo ya que si no es así, el reporte saldría como error. Algunos de las extensiones que soportan los reportes de TestStand son de programas como Microsoft office Word, Excel, block de notas, etc.. Esto se hace solo escribiendo la extensión del programa en la ventana de Report Options, al cual se desea que el reporte de salida se despliegue (figura 4.22.). 51 Figura 4.22. Reportes con extensiones compatibles. Esta propuesta hace que resulte fácil llevar un registro de los errores que se presenten del código de programación del DAQ, así como los errores o problemas de el dispositivo mientras esté tomando variables de interés del sistema de audio y navegación, ya que como se ha mencionado Traditional NI-DAQ tiene una lista de funciones que el DAQPadTM-6020E utiliza para realizar las tareas de adquisición de datos, la comunicación que se establece entre el DAQ y esas funciones la realiza TestStand así que todo conlleva a un sistema de Adquisición de Datos eficiente que se adapta a las facilidades de cualquier usuario que lleve a cabo pruebas y que desee utilizar el DAQPadTM-6020E (con ayuda de una caja de pruebas propiedad de la empresa, la cual no se redacta en este documento a causas de razón mayor). 52 Por último la figura 4.23. muestra el dispositivo a la que la propuesta hace referencia y que con el es posible la implementación. Figura 4.23. DAQPadTM-6020E En resumen las características adicionales del sistema de DAQ, aparte de las ya mencionadas, son las siguientes Pertenece a la Familia E series Dispositivo Multifuncional MIO Tiene resolución de 12 bits 16 canales analógicos 53 CAPÍTULO V ACTIVIDADES DIVERSAS 54 Por último el Capítulo V describe las actividades diversas que se realizaron en la empresa, las cuales se puede decir que formaron parte del proyecto ya que a base de ellas se pudo obtener también información sobre el área de pruebas. 5.1. Programación en Tcl Una de las primeras tareas que se realizaron dentro de la empresa fue el desarrollar un código cuyo objetivo era elaborar una serie de comparaciones entre datos de latitudes y longitudes en minutos y segundos que se adquirían de una serie de pruebas que se realizaron con un equipo de navegación, y que tenían que coincidir con los planteados en una lista estándar. El lenguaje que se utilizó para desarrollar dicho código fue el Tool Command Language Tcl, el cual es un lenguaje de programación de comandos que permite programar de forma rápida y sencilla aplicaciones no demasiado complejas, tal como fue la función de la actividad que se realizó. En primer lugar, para comenzar esta tarea, se tuvo una pequeña junta donde se hizo mención de cuál era el objetivo y las partes que componían la tarea y que pasos se seguirían. El principal de estos pasos consistía en desarrollar el código (script). Para realizar la actividad se proporcionó el equipo así como el lugar de trabajo para comenzar con la actividad. Para escribir el script de Tcl se utilizó un accesorio de Windows, el block de notas, el cual fue sencillo de utilizar ya que no se tiene una plataforma para este lenguaje, sino que es solamente un lenguaje que utilizan varias aplicaciones y que es muy útil, ya que ayuda a formar un tipo de interfaces entre diversos programas, En éste caso el script generaba una tabla a partir de cadenas auto elaboradas dentro del mismo script, a partir de listas hechas en block de notas; dicha tabla la generaba en un documento de Excel. A continuación se presenta el script desarrollado y en la tabla 5.1. se muestran las acciones de las funciónes de Tcl usadas para elaborar el script. 55 #Clear Scr clear reset #Delete all breakpoints reset -event #Select the coverage function #dbgopt -function coverage #Clear current code coverage xcoverage -clear #First Address for breakpoint set first_breakpoint inr.c#6256 #Setting First Breakpoint breakpoint -beforeexecute $first_breakpoint #Second Address for breakpoint set second_breakpoint sdars_weather.cu#5978 #set second_breakpoint ilpar.c#4013 #Setting second Breakpoint breakpoint -beforeexecute $second_breakpoint #Creates a file called: "Results LAM+1" set OutputFile [open "Results13.csv" w+] #Writes "GMLAN Bytes" on the top of "Results LAM+1" puts $OutputFile "GMLAN Bytes 1473-1612" #Opens a file called: "ICAOS" set ReadfileICAOS [open "ICAOS.txt" r] #Gets data from "ReadfileICAOS" and write them on icaos set icaos [split [read $ReadfileICAOS] \n] #Opens a file called: "List" set Readfile [open "List0.txt" r] #Gets data from "Readfile" and write them on coordinates set coordinates [split [read $Readfile] \n] for {set i 1473} {$i < 1613} {incr i 1} { #Run program and stop when there is a breakpoint 56 go -waitbreak #Get a list from icaosposition #i and write it on icaosreng set icaosreng [lindex $icaos $i] set icaoscol0 [lindex $icaosreng 0] set icaoscol1 [lindex $icaosreng 1] set icaoscol2 [lindex $icaosreng 2] set icaoscol3 [lindex $icaosreng 3] #Get a list from position #i and write it on COORPOS set COORPOS [lindex $coordinates $i] ###set LAD [lindex {048 044 042 041} $i] set LAD [lindex $COORPOS 0] watch WTR_Vehicle_Position.latitude.sexagesimal.degrees $LAD ###set LAM [lindex {001 031 054 021} $i] set LAM [lindex $COORPOS 1] incr LAM watch WTR_Vehicle_Position.latitude.sexagesimal.minutes $LAM ###set LOD [lindex {092 109 117 089} $i] set LOD [lindex $COORPOS 2] watch WTR_Vehicle_Position.longitude.sexagesimal.degrees $LOD ###set LOM [lindex {052 001 039 009} $i] set LOM [lindex $COORPOS 3] watch WTR_Vehicle_Position.longitude.sexagesimal.minutes $LOM ###Run program and stop when there is a breakpoint go -waitbreak set RD6 [watch Remote_Receiver_Data_Request.remote_receiver_data_request.RmtRcvrDataSrvReq_6] set RD5 [watch Remote_Receiver_Data_Request.remote_receiver_data_request.RmtRcvrDataSrvReq_5] set RD4 [watch Remote_Receiver_Data_Request.remote_receiver_data_request.RmtRcvrDataSrvReq_4] set RD3 [watch Remote_Receiver_Data_Request.remote_receiver_data_request.RmtRcvrDataSrvReq_3] 57 if {$RD6 == $icaoscol0 && $RD5 == $icaoscol1 && $RD4 == $icaoscol2 && $RD3 == $icaoscol3} { set Match PASS } else { set Match NULL } #Writes on file: Results LAM+1.csv puts $OutputFile "$icaoscol0 $RD6 $RD5 $RD4 $RD3 $icaoscol1 $LAD-$LAM-N $icaoscol2 $LOD-$LOM-W $icaoscol3 $Match" #Delay 1000 ms #**after 1000 } #Closes Readfile close $Readfile #Closes Outputfile close $OutputFile Comando Función clear Limpia la pantalla console. reset Restablece todos los eventos. reset –event Limpia los registros de Breakpoints. Set Para crear una variable y asignarle un valor. set first_breakpoint (second_) Coloca un primer Breakpoint para insertar Ejemplo set a 100 datos en la línea inr.c#5256 y un segundo en la línea ilpar .c#4013 para leer datos. breakpoint–beforeexecute Ejecuta el valor colocado en el Breakpoint y $first_breakpoin ($second_) el valor que le precede. set OutputFile [ open “ Crea un Archivo y se le llama como el anything.ext “ w+] usuario lo desee. 58 puts $OutputFile “text” Escribe un Texto en la primer linea del Archivo creado. set ReadfileFILE [open Abre un Archivo ya existente [read Split[ ]\n “FILE.ext” r] set FILE [split $ReadfileFILE] \n] crea una lista a partir de una cadena. El delimitador por defecto es el espacio en blanco. R Abrir archivo para leer, este debe existir. r+ Abrir para leer y escribir, el archivo debe existir. W Abrir para escribir, si existe el archivo lo sobre escribe y si no lo crea. w+ Abrir para leer y escribir, lo sobre escribe o lo crea. A Abrir para escribir, el archivo debe existir. a+ Abrir para leer y escribir, debe existir el archivo. for {set i 0} {$i < 5} {incr I Ciclo for, se da valor 0 a i, el valor de i 1} {} menor que 5 como condición, incr incrementa en 1 a i por ciclo. go -waitbreak Corre el programa y se detiene hasta encontrar un Breakpoint. set icaosreng [lindex $icaos Devuelve el elemento que ocupa una l index $meses 1 $i] posición determinada en una lista. Al f e b r e r o elemento inicial de la lista le corresponde el índice 0. 59 set LAD Valores de Latitud Degrees. set LAM Valores de latitud Minutes. set LOD Valores de Longitud Degrees. set LOM Valores de Longitud Minutes. set RD6 Valores almacenados en RD6. set RD5 Valores almacenados en RD6. set RD4 Valores almacenados en RD6. set RD3 Valores almacenados en RD6. if {$a == $10 && $b == 20 if Ejecuta el cuerpo de un comando si una && $c == $30 && $d == expressión es verdadera, en caso opuesto $40} { ejecuta otro comando else. set Match PASS } else { set Match NULL } puts $OutputFile “$Text” Escribe el cuerpo de un texto en el archivo creado. close $Readfile Cierra el archivo leído. close $OutputFile Cierra el archivo creado, mientras el script está corriendo, el archivo creado no puede verse. Tabla 5.1. Funciones de Tcl usadas en el script. La complicación que se presentó en ésta actividad fue la ejecución del script con el equipo, ya que resulto tardada y debido a ello se utilizaron dos computadoras con su respectivo equipo de prueba, para realizarla exitosamente. 60 5.2. Pruebas de audio Las pruebas de audio consistieron someter a prueba un sistema de audio de tal forma que se tendría que navegar a través del sistema por diferentes rumbos siempre reproduciendo tracks y encontrar todos aquellos errores que se presentaran ya que el código que se había programado en el equipo estaba en una etapa de desarrollo y se tenía que encontrar los errores en su ejecución antes de que se liberar el código. Todas las pruebas que se realizaban ayudaron a seguir con el proyecto ya que se estuvo conociendo por partes la funcionalidad del área de pruebas así como el equipo donde tendría énfasis la propuesta de implementación. 5.3. Pruebas de código Otra actividad que se realizó fue la de seguir una serie de pasos para comprobar la correcta funcionalidad de un código que se programo dentro de un equipo de audio y navegación, esto con el fin de corroborar de que otro tipo de comunicación entre los dispositivos de un auto tenía la misma funcionalidad que la comunicación convencional, ya que se pretendió mejorar dicho enlace de comunicación y el objeto de las pruebas fue verificar que el equipo no resultara perjudicado en su funcionamiento sometiéndolo bajo pruebas; esta actividad se realizó en un periodo medio ya que los pasos que se tuvieron que realizar en base a ella fueron demasiados incluso para realizar algunos se pedía que se hicieran en un gran periodo de tiempo, lo que resulto tardado. En esta parte de pruebas se obtuvo también información para desarrollar la propuesta ya que se trabajo con el equipo en el cual se implementaría el sistema. Cabe mencionar que las pruebas se concluyeron exitosamente, con muy pocos errores de ejecución. 61 CAPÍTULO VI EVALUACIÓN ECONÓMICA Y RESULTADOS OBTENIDOS 62 6.1. Evaluación económica La inversión económica en el proyecto puede dividirse en dos diferentes rubros, costo de Materiales y costo de Mano de Obra. En cuanto a los recursos materiales a continuación se desglosa la lista de materiales utilizados. Estos materiales ya estaban disponibles en la empresa por lo cual no se requirió inversión adicional para esta proyecto. DAQPadTM-6020E. $ 9,990.00 TestStand 4.2 (licencia 1 año) $ 11,000.00 Conectores tipo Banana. $ 70.00 Cable. $ 80.00 Caja de metal. $ 100.00 Respecto a los recursos humanos se invirtieron un aproximado total de 420 horas hombre en el desarrollo del proyecto, incluyendo en estas las horas de las actividades diversas, que también formaron parte del proyecto. La inversión en este proyecto redituará a mediano y largo plazo en la ejecución de pruebas repetitivas y automatizadas sin intervención del usuario, logrando así un ahorro considerable en tiempo y una cobertura mayor de pruebas mejorando así tanto el costo como la calidad en el producto. 63 Como ejemplo de este ahorro y mejora en calidad se puede mencionar la actividad de programación en TCL. La prueba manual tomaba alrededor de 5 horas hombre y tenía una cobertura del 4% de los casos de prueba. Una vez implementada la prueba en TCL tomaba 14 horas en ejecutarse, con una cobertura del 100% de los casos de prueba y sin la intervención del usuario. Finalmente para reducir el tiempo y poder contar con los resultados en un periodo más corto, se dividieron los casos de prueba en dos bloques y usando dos bancos de prueba se redujo el tiempo de ejecución de la prueba a 7 horas. 6.2. Resultados obtenidos Cuando esta propuesta se aplique físicamente en el área de pruebas, se espera que se obtenga ganancia no sólo de tiempo, sino también de productividad, automatizando el área ya definida. Y puesto que esta propuesta es propiedad de la empresa solo se puede decir que dentro de ella se obtendrán los beneficios, ya sea económicos si es que deseara venderla o productivos, introduciendo este tipo de automatización en los procesos. Dentro del los resultados obtenidos, cuando este implementado el DAQ, se esperan los siguientes puntos: Menor tiempo en la liberación del producto generado por la empresa. Mejora en los tiempos de entrega a producción del producto. Mayor productividad en el área de pruebas así como en el área de desarrollo del producto. Disminuir los errores que se presenten en las pruebas con el producto. Corregir con mayor rapidez los errores que se presenten con el producto en el área de pruebas. 64 CONCLUSIONES 65 Mi estancia en esta empresa me demostró que la vida como estudiante no se compara a la vida laboral, ya que en la escuela sólo se va a aprender y adquirir conocimientos mientras que en la laboral tienes que dar lo mejor de ti aplicando todo aquello que se te enseñó en la escuela, ya que se tiene que ser competente y tener iniciativa pues estas son sólo unas cuantas aptitudes que te ayudan a ser una mejor persona. Hay muchos otros factores que pueden ayudar a sobresalir y así ser reconocido. He aprendido que uno debe madurar y manejar las cosas con responsabilidad y no a la ligera. Las cosas ya no son las mismas cuando uno sale de la escuela, Además nunca es suficiente lo que ya se sabe hay que esforzarse mucho más si se quiere destacar, y no basta con estar siempre disponible sino también en ser una persona más responsable y puntual porque eso habla mucho de uno, pues dentro de lo laboral eso hace confiable a una persona. 66 BIBLIOGRAFÍA 67 http://www.ece.ualberta.ca/usermanual.pdf http://www.ni.com/teststand/ http://www.labviewexpert.com http://wwwni.com/dataacquisition/software/ http://www.rpi.edu/nidaq/traditional.html http://sine.ni.com/nips/cds/view/p/lang/en/nid/11922 68 GLOSARIO 69 MAX Measurement & Automation Explorer. (Software para configurar el DAQPadtm-6020E.) DIO Digital Input/Output . (Entradas/Salidas Digitales del DAQ). ACH Analog Channel. (Canales Analógicos de DAQ). Step Parte de una secuencia de TestStand. AOGND Analog Output Ground. (Tierra Analógica de salida del DAQ). DGND Digital Ground. (Tierra Digital del DAQ). AIGND Analog Input Ground (Tierra Analógica de Entrada del DAQ). GPCTR>0,1> Salidas de los contadores 0 y 1. Traditional NI-DAQ Software utilizado para instalar el DAQ así como para tener acceso a las referencias de lenguaje del DAQ. 70 ANEXOS 71 A continuación se presentan una serie de documento, que con los cuales parte del proyecto se desarrollo gracias a ellos pues se tomaron como referencia. JavaScript (active content) is disabled. For all content to be accessible, you must enable JavaScripts in your browser. NI-DAQ 8.5 Readme Copyright 2003–2007 National Instruments. All rights reserved. Under the copyright laws, this publication may not be reproduced or transmitted in any form, electronic or mechanical, including photocopying, recording, storing in an information retrieval system, or translating, in whole or in part, without the prior written consent of National Instruments Corporation. National Instruments, NI, ni.com, and LabVIEW are trademarks of National Instruments Corporation. Refer to the Terms of Use section on ni.com/legal for more information about National Instruments trademarks. Traditional NI-DAQ (Legacy) Traditional NI-DAQ (Legacy) is an older driver with outdated APIs for developing data acquisition, instrumentation, and control applications for older National Instruments DAQ devices. Traditional NI-DAQ (Legacy) has the same VIs and functions and works the same way as NI-DAQ 6.9.3, except you can use Traditional NI-DAQ (Legacy) and NI-DAQmx on the same computer, and some hardware and software is no longer supported. You should use Traditional NI-DAQ (Legacy) only in certain circumstances. You have a device that is not supported by NI-DAQmx, such as the AT E Series multifunction DAQ devices; refer to Device Support. You are using LabWindows/CVI or Measurement Studio version 6.x. You have existing NI-DAQ 6.9.x or Traditional NI-DAQ (Legacy) applications that you cannot port to NI-DAQmx now. You can continue to use applications developed in Traditional NI-DAQ (Legacy) that control older devices in the same system with NI-DAQmx applications for newer devices. Refer to Using NI-DAQmx and Traditional NI-DAQ (Legacy) on the Same Computer. You have an NI modular instrument device that requires Traditional NI-DAQ (Legacy). Support in NI-DAQ 8.5 Operating System Support NI-DAQ Version Windows Vista 641 Windows Vista 321 Windows XP Windows 2000 NI-DAQmx 8.5 Yes Yes Yes Yes Traditional NI-DAQ 7.4.4 No No Yes Yes 1 Windows Vista Business edition 72 NI Application Software Support The following table lists the NI application software versions supported by NI-DAQmx and Traditional NIDAQ (Legacy). If you are not using NI application software, refer to Microsoft Visual Studio Support. Starting with NI-DAQ version 7.4.2, Traditional NI-DAQ (Legacy) installs support only for the latest version of LabVIEW found on the system. The Traditional NI-DAQ (Legacy) API is mass-compiled in LabVIEW version 7.0. See LabVIEW Support in the Traditional NI-DAQ (Legacy) Readme for more information. NI Application Versions Supported by NI- Versions Supported by Traditional NI- Software DAQmx DAQ (Legacy) 7.1 and later 7.0 and later 7.11 and later 7.0 and later LabWindows/CVI 7.x and later 6.0 and later Measurement Studio 7.x and later 6.0 and later LabVIEW SignalExpress 2.x and later LabVIEW LabVIEW Real-Time Module 1 To use LabVIEW Real-Time Module 7.1 with NI-DAQmx, you must use NI-DAQmx 7.2 or later. 2 Traditional NI-DAQ (Legacy) with the Measurement Studio ActiveX control. These versions do not include a Measurement Studio C++ or .NET interface. Microsoft Visual Studio Support The following table lists the programming languages and Microsoft Visual Studio versions supported by NI-DAQmx and Traditional NI-DAQ (Legacy). Programming Visual Studio Versions Visual Studio Versions Supported by Language Supported by NI-DAQmx Traditional NI-DAQ (Legacy) 6.0 and later 6.0 and later 2003 (7.1)1 — 6.0 SP62 6.0 SP63 2003 (7.1) — ANSI C C++ Visual Basic 6.0 .NET Framework 1.1 Languages 73 (C# and Visual Basic.NET) .NET Framework 2.0 2005 (8.0) — Languages (C# and Visual Basic.NET) 1 Requires Measurement Studio 7.x 2 Support through ANSI C type library 3 Support through ActiveX Devices Supported Only in NI-DAQmx NI-DAQmx supports the following devices: NI DAQPad-6020E 100 kS/s, 12 bit E Series device -... Devices Supported in NI-DAQmx and Traditional NI-DAQ (Legacy) The following devices are supported in NI-DAQmx and Traditional NI-DAQ (Legacy). For information on calibrating SCXI devices in NI-DAQmx 8.0 or later, refer to ni.com/info and enter the info code rdsct4. NI DAQPad-6020E 100 kS/s, 12 bit E Series device -… Devices Restricted to Traditional NI-DAQ (Legacy) NI-DAQmx does not support the following devices. The following devices are supported only in Traditional NI-DAQ (Legacy): -… -NI DAQPad-6020E 100 kS/s, 12 bit E Series device 74 75 76