METODOLOGIA PARA LA ADQUISICION DE DATOS DIGITALES Y ANALOGICOS CON EL SOFTWARE LabVIEW POR MEDIO DE COMUNICACIN SERIAL RS-232.
PARA OBTENER EL TTULO DE: INGENIERO EN ROBTICA INDUSTRIAL PRESENTA: CARLOS MIGUEL PINEDA GALLEGOS
ASESORES:
M. EN C. RAMN VALDS MARTNEZ ING. CARLOS ALBERTO MENDOZA AGERO 2
ndice
Contenido
Pgina
Objetivo general.
4 Objetivos especficos.
4 Justificacin.
5
Captulo I.- ESTUDIO DEL ESTADO DEL ARTE
6 1.1 SISTEMAS DUROS Y SISTEMAS SUAVES.
7 1.1.1 Sistemas duros.
8 1.1.2 Sistemas suaves.
9 1.2 METODOLOGIA.
11 1.2.1 Definicin de metodologa
11 1.2.2 Tipos de metodologa.
12
Captulo II. FUNDAMENTOS DE ELECTRONICA Y MICROCONTROLADORES. 14 2.1 ELECTRONICA BASICA.
15 2.1.1 Historia de la electrnica.
15 2.1.2 Componentes bsicos de la electrnica. 16 2.2 SEALES DIGITALES Y ANALOGICAS.
21 2.2.1 Seales digitales.
22 2.2.2 Seales analgicas.
24 2.3 MICROCONTROLADORES.
25 2.3.1 PICs
25 2.3.2 PIC 16F877A
26 2.3.2.1 Caractersticas del PIC 16F877A.
26 2.4 TIPOS DE COMUNICACION.
39 2.4.1 Comunicacin serial.
39 2.4.2 Tipos de comunicacin serial.
40
Captulo III. LENGUAJES DE PROGRAMACION y LabVIEW. 41 3.1 TIPOS DE LENGUAJE DE PROGRAMACION.
42 3.2 EVOLUCION DE LOS LENGUAJES DE PROGRAMACION. 45 3.2.1 Niveles de lenguajes de programacin. 49 3.3 LabVIEW.
51 3.3.1 Aplicacin de simulacin en LabVIEW.
65 3.3.2 Aplicacin de comunicacin serial ECHO. 76
3
Captulo IV. DESARROLLO DE LA METODOLOGIA PARA LA DQUISICION DE DATOS DIGITALES Y ANALOGICOS CON EL SOFTWARE LabVIEW POR MEDIO DE COMUNICACIN SERIAL RS-232. 94 4.1 PLANTEAMIENTO DE LA APLICACIN.
95 4.1.1 Descripcin de la aplicacin.
95 4.2 ELEMENTOS DE LA APLICACION.
96 4.3 ADQUISICIN DE DATOS DIGITALES Y ANALOGICOS. 98 4.3.1 Envi y transmisin de datos digitales y analgicos. 98 4.3.2 Diagrama de conexin del PIC16F877A para datos digitales y analgicos. 101 4.3.3 Diagrama de conexin del acoplamiento de seal PIC16F877A con PC. 102 4.4 HARDWARE Y SOFTWARE A UTILIZAR PARA EL DESARROLLO DE LA APLICACIN. 103 4.5 DESARROLLO DE LA APLICACION.
104 4.5.1 Diagrama de flujo de comunicacin serial. 108 4.5.2 Desarrollo de la metodologa para la adquisicin de datos digitales y analgicos con el software LabVIEW por medio de comunicacin serial RS-232. 109
Anlisis econmico.
115 Conclusiones.
120 Recomendaciones.
122 Glosario.
123 Bibliografa.
126 ANEXO1 ANEXO2 ANEXO3
INSTITUTO POLITECNICO NACIONAL ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA UNIDAD PROFESIONAL AZCAPOTZALCO. Objetivo general, especficos.
4
OBJETIVO GENERAL.
Desarrollar una metodologa para la adquisicin de datos digitales y analgicos con el software LabVIEW por medio de comunicacin serial RS-232, para desarrollar aplicaciones a bajo costo.
OBJETIVOS ESPECIFICOS.
1.- Realizar una investigacin sobre metodologas, sistemas duros, sistemas suaves, fundamentos de electrnica, microcontroladores, comunicacin serial y LabVIEW. 2.- Analizar y seleccionar informacin para el desarrollo de la metodologa para la adquisicin de datos digitales y analgicos con el software LabVIEW por medio de comunicacin serial RS-232. 3.- Desarrollar una metodologa para la adquisicin de datos digitales y analgicos con el software LabVIEW por medio de comunicacin serial RS-232. 4.- Desarrollar una aplicacin de la metodologa para la adquisicin de datos digitales y analgicos con el software LabVIEW por medio de comunicacin serial RS-232.
INSTITUTO POLITECNICO NACIONAL ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA UNIDAD PROFESIONAL AZCAPOTZALCO. Justificacin.
5
JUSTIFICACION.
En la actualidad los procesos industriales son ms exigentes y rigurosos, debido a estas caractersticas las HMI deben de ser ms detalladas y amigables con el usuario, los grficos de control son requeridos ms eficientes y eficaces, la codificacin o lgica de programacin sumamente exacta y precisa, por estas razones se necesitan de herramientas potentes tanto en los grficos de control como en el entorno de desarrollo y procesamiento de datos, estas caractersticas se pueden cumplir con una amplia gama de productos, sin embargo LabVIEW de National Instruments es una herramienta que cubre las caractersticas ms exigentes y complejas para desarrollar aplicaciones SCADA (supervisin, control y adquisicin de datos) que nos brinden procesos precisos, eficientes y eficaces.
Debido a las caractersticas de esta herramienta de desarrollo los cursos y la informacin con la que se cuenta es bastante diversa y cara, sin olvidar las herramientas en Hardware de National Instruments, es por esto que surge la necesidad de crear una metodologa para la adquisicin de datos digitales y analgicos con la cual podamos implementar herramientas, Hardware, creadas por nosotros mismos; las cuales tengan las caractersticas antes mencionadas asindolas ms accesibles econmicamente y amigables para el desarrollador y el usuario.
Usando el puerto de comunicacin serial RS-232 y un microcontrolador los cuales son de bajo costo y ms generales en el uso tanto profesional y acadmico, podemos realizar la instrumentacin necesaria para obtener datos digitales y analgicos; usando el Trial del Software de National Instruments LabVIEW podemos desarrollar la aplicacin correspondiente, juntando estas herramientas podemos cumplir con las caractersticas mencionadas.
6
ESTUDIO DEL ESTADO DEL ARTE
Administrator INSTITUTO POLITECNICO NACIONAL [Seleccionar fecha] CAPITULO I Captulo I.- Estudio del estado del arte. Sistemas duros y sistemas suaves.
7
1.1 SISTEMAS DUROS Y SISTEMAS SUAVES.
Checkland seala que los sistemas duros (hard systems) tienen una manifestacin concreta en la realidad. Los sistemas blandos (soft systems) son conceptuales en vez de concretos, refirindose a los modelos conceptuales que se construyen en la Metodologa de Sistemas Suaves.
Reproducimos un texto de (Checkland 1980) sobre sistemas duros y sistemas suaves: lo segundo implica el desarrollo prctico del pensamiento de sistemas mediante la aplicacin de este enfoque en la solucin de problemas en el mundo real; esto ltimo involucra el trabajo desarrollando en lo que se denomina sistemas duros (hard systems) aquellos que tienen una manifestacin concreta en la realidad. Tambin compete a esta segunda distincin. los trabajos desarrollados en lo que se denomina sistemas suaves (soft systems), sistemas que son conceptuales en vez de concretos
Sin embargo, es ms adecuado hablar de situaciones suaves y duras, como lo hace (Hitchins 1992) quien indica define los trminos: Hard. Clearly defined or definable and with evident purpose. (Duro. Claramente definido o definible y con un propsito evidente); Soft. Complex, poorly defined, and without clear singular purpose. (Suave. Complejo, pobremente definido y sin un claro y nico propsito). Entindase como situacin al conjunto de factores o circunstancias que afectan a alguien o algo en un determinado momento
Extraccin del artculo: La diferencia entre sistemas duros y suaves hecho por J Villacriz Fuentes consultadas: - (Checkland 1980) Checkland, Peter. The System Movement and the Failure of Management Science. Cybernetics and Systems: An International Journal, 11. 1980. - (Hitchins 1992). Hitchins, Derek. Putting Systems to Work. John Wiley & Sons, Chichester, England. 1992
Captulo I.- Estudio del estado del arte. Sistemas duros.
8
1.1.1 Sistemas duros.
Son problemticas bien definidas en donde los participantes estn de acuerdo en la solucin y coinciden en la definicin del mismo, digamos el camino de solucin, situaciones concretas en las cuales tenemos claro el Qu? Y nosotros definiremos el Cmo?; son sistemticas y totalmente reales, referimos reales al hecho de que las variables son fsicas y la solucin tambin; El resultado que arroja este tipo de sistemas es la recomendacin exacta o el producto.
Un ejemplo claro de este tipo de sistemas seria un accionamiento de un motor, este sera el Qu? El cmo se definira dependiendo de las restricciones del sistema y del tipo de normatividad al cual se requiera adaptar el motor, ya sea para la industria alimenticia, metal-mecnica u otra, otra caracterstica seria el tipo de alimentacin y potencia; es de notar que estas variables se encuentran explicitas y definidas por la tcnica y la ingeniera a implementar.
Los problemas que presentan estos sistemas siempre tienen una solucin fiable y exacta, debido a que implementan variables medibles como lo son: cuantitativas, cualitativas y determinantes; esto nos indica que podemos emplear mtodos o sistemas de investigacin cientficos para encontrar la respuesta al problema. Estos mtodos ya estn comprobados por el hombre y empleados en muchas otras problemticas, de esta manera las respuestas son conocidas y calculadas por ciencias exactas como las matemticas.
Las tareas que se resuelven en este tipo de sistemas son cclicas y nunca cambian por factores externos al sistema es decir; el sistema estar calculado exacto a la solucin y solo lo puede variar el creador del mismo si es que se necesita o se amplia, as mismo podemos comprobar el sistema midiendo los factores que lo contemplan, esta accin siempre nos causara un efecto el cual debemos tener contemplado si es que tenemos la solucin correcta del sistema, al tener un sistema duro todas las soluciones o clculos que se tengan deben de coincidir ya que el sistema contiene las mismas variables y procedimientos de solucin esto comprueba el hecho de que el sistema sea duro y no suave.
Estas soluciones se encuentran ms orientadas a la parte tecnolgica que a la parte social debido a que el hombre o lo sociedad no se involucran en el proceso, sin embargo son parte fundamental del desarrollo, esta es una evidencia clara cuando el sistema es duro y no suave, tambin se toma en cuenta el mtodo ms corto, simple, optimo y econmicamente barato, podemos relacionar la solucin del mtodo basndonos en las caractersticas bsicas de la solucin con lo cual tenemos la posibilidad de elegir numerosas variables que nos ayuden a reducir cualquiera de nuestras caractersticas bsicas de solucin esto nos sera bastante tedioso en una solucin a un sistema suave debido a que no podemos pasar por alto las variables del carcter humano y las posibles ramificaciones que arrojan.
Captulo I.- Estudio del estado del arte. Sistemas suaves.
9
1.1.2 Sistemas suaves.
Son problemticas las cuales tienen diferentes variables, no estn definidas, e interactan con la mano humana la cual torna difcil e inexacta la problemtica, en este tipo de sistemas la primera pregunta a definir es el Qu?; ms que un tema concreto es conceptual, y no busca solucionar el sistema sino mejorar la situacin; el resultado del sistema es un proceso de aprendizaje o una mejora a la situacin.
El autor Peter Cleckland tiene una metodologa para resolver este tipo de sistemas la cual consta de 7 estadios; estadios abstractos y estadios reales, los estadios reales son del 1-3 y del 5-7 y los abstractos son entre el 3 y el 4 son abstractos ya que son pretensiones e intuiciones de los desarrolladores del sistema.
Estadio 1.- Situacin no estructurada: se rene toda la informacin disponible Estadio 2.- Situacin expresada: un grafico para aclarar los puntos clave Estadio3.- Se identifican sistemas relevantes y se elaboran definiciones races mediante CATWOE C= cliente, cliente o beneficiario. A= actor. T= transformacin de entrada en salida. W= weltanschauung visin del mundo o punto de vista que da origen a las definiciones. 0= propietario, tiene autoridad para detener la transformacin. E= Restricciones, limitaciones y restricciones por fuentes externas. Estadio4.- Se elaboran modelos conceptuales para las definiciones, llamado modelo de sistema formal, se definen temas relevantes mediante definiciones races. Estadio5.- Deben de salir las diferencias entre los modelos y lo actual. Estadio6.- Se identifican los cambios factibles deseados. Estadio7.- Se toma accin para una mejora de la situacin problema. Una vez llegando al paso siete se realiza un ciclo cerrado pasando del estadio 7 al 1 esto nos brindara una visin cada vez ms cerrada de la problemtica y un objetivo ms claro. Peter Checkland desarrollo la SSM en la universidad de Lancaster
Los sistemas suaves no pueden ser solucionados por ciencias exactas debido a que dependen del criterio u argumentos del equipo de trabajo que lo est desarrollando, tambin se agrega que la solucin depende de las circunstancias que se den lo cual torna bastante inestable una solucin y solo podemos reunir o crear criterios para ayudarnos a implementar un camino muy general para la solucin o una gua para la misma.
Un ejemplo claro de un sistema suave sera: crear una solucin a una compra de una casa, las variables tienden a infinito debido a que se involucran gustos de cada ser, situaciones de desarrollo inexactas, culturas y aptitudes as como actitudes de los vecinos, estatus sociales, etc. Esta lista se tornar muy extensa y no llegaramos a una conclusin solo tendramos una serie de variables a considerar, lo que se podra hacer Captulo I.- Estudio del estado del arte. Sistemas suaves.
10
seria una gua para un determinado estatus social con ciertas actitudes y tendencias sociales en las cuales nosotros mismos estamos divagando aun contando con un extenso y basto concentrado de informacin, ya que la decisin final no es de nosotros, solo daremos una gua para un determinado y definido tipo de situaciones.
La palabra Sistema en las situaciones suaves, segn Checklan, son solo la va a conseguir mtodos los cuales no brinden diferentes ideas y pasos los cuales nos faciliten la solucin o nos brinden una idea ms clara para entender el camino a ella, debemos de tener en cuenta que la solucin que se obtiene debe de ser basada en los hechos con los que se cuenta y no en la perspectiva del desarrollador, este a la vez debe ser conciso y objetivo con lo que debe de realizar no con sus ideales ni gustos, ya que las variables no conciernen a l o a ellos, solo sern creadores basados en la informacin con la que se cuente.
Captulo I.- Estudio del estado del arte. Definicin de metodologa.
11
1.2 METODOLOGIA.
1.2.1 Definicin de metodologa. Metodologa es una palabra compuesta por tres vocablos; met (ms all), ods (camino) y logos (estudio) este concepto hace mencin a los mtodos de investigacin que se emplean para obtener ciertos objetivos en una ciencia; sin embargo es de notar que se debe de definir la palabra mtodo: el cual nos indica el camino a seguir para obtener los objetivos; metodologa: es el estudio del mtodo; de estas 2 definiciones nos deriva una ms la cual es metodlogo: este aporta nuevas estrategias para aumentar el conocimiento ya adquirido.
La metodologa brinda la sistematizacin para llevar acabo metas; en este caso nos brinda una gua para poder desarrollar aplicaciones y bases para emplear diferentes implementaciones basadas en esta metodologa, digamos que tenemos la tcnica y le daremos diferentes objetivos mediante las necesidades de cada percepcin.
1.2.2 Tipos de metodologas.
Muchos definen 2 clases de mtodos los cuales se adhieren a su clasificacin en la medida de su solucin lo cual nos lleva a los mtodos del tipo empricos y a los del tipo lgico por ende los mtodos del tipo lgico se resuelven empleando pensamientos analticos, deductivos y de sntesis; mientras que los del tipo emprico se basan en la experiencia, experimentacin y observacin del cientfico.
Mtodo lgico deductivo. En este se parte de datos generales son aceptados como validos para as llegar a una conclusin de tipo particular, se parte de una ley o fenmeno comprobado para poder obtener un juicio mas particular enfocado al fenmeno a deducir en el cual las matemticas son el camino ms lgico.
Mtodo deductivo-directo o conclusin inmediata. Se parte de un solo origen el cual nos lleva a una generalidad la cual es exclusiva del origen y directa.
Mtodo deductivo-indirecto o conclusin mediata-formal. Se obtienen de 2 o ms argumentos los cuales proponen nos lleven a un tercero y a su vez definan una particularidad de este.
Mtodo hipottico deductivo. Se generan conclusiones a partir de situaciones o de leyes, las cuales nos llevan a definir otras que se puedan demostrar por medio de experimentos. Captulo I.- Estudio del estado del arte. Tipos de metodologa.
12
Mtodo lgico inductivo. Por medio de numerosos factores se toman decisiones o se crean hiptesis, de estas se tienen dos tendencias las cuales pueden ser Induccin-completa o induccin-incompleta; la induccin-completa est basada en un nmero conocido de argumentos y se toma la totalidad de estos para crear una solucin; la induccin-indirecta solo colecta un muestre de los datos obtenidos debido a que no se sabe con exactitud la totalidad.
Mtodo de concordancia. Se encarga de enfatizar las similitudes entre diferentes fenmenos con lo cual deduce la causa que los genera.
Mtodo de diferencia. Se renen varios argumentos y en ellos se busca el elemento que hace falta para evitar su creacin.
Mtodo sinttico. Se realiza un anlisis de hechos precisos para poder obtener una causa probable.
Mtodo analtico. Se procede de varios experimentos los cuales en base a sus cualidades y composiciones anatmicas nos ayudan para evidenciar nuevas teoras.
Mtodos Empricos.
Observacin cientfica. El investigador, analiza el fenmeno sin perturbaciones externas, se conoce el objeto y el problema.
La experimentacin cientfica. Mediante este mtodo el investigador altera y genera modelos para poder comprobar lo ya observado, pudiendo establecer una teora.
La medicin. Por medio de este se pueden obtener magnitudes y cualidades de cualquier objeto fsico a el cual se le atribuirn medidas numricas, estas deben de estar bien estructuradas en cuanto al sistema que se rige el aparato de medicin, quien la va medir y los resultados obtenidos.
El mtodo cientfico: que es el camino que planea o bien la estrategia que se sigue para descubrir las propiedades y caractersticas varias del objeto de el estudio.
Captulo I.- Estudio del estado del arte. Tipos de metodologa.
13
Francis Bacon describe el mtodo cientfico en 6 pasos los cuales se muestran a continuacin: 1. Observacin: Observar es aplicar atentamente los sentidos a un objeto o a un fenmeno, para estudiarlos tal como se presentan en realidad, puede ser ocasional o causalmente. 2. Induccin: La accin y efecto de extraer, a partir de determinadas observaciones o experiencias particulares, el principio particular de cada una de ellas. 3. Hiptesis: Planteamiento mediante la observacin siguiendo las normas establecidas por el mtodo cientfico. 4. Probar la hiptesis por experimentacin. 5. Demostracin o refutacin (anttesis) de la hiptesis. 6. Tesis o teora cientfica (conclusiones).
Fig.1.1 Modelo simplificado de las etapas del mtodo cientfico.
14
FUNDAMENTOS DE ELECTRONICA Y MICROCONTROLADORES.
CAPITULO II Captulo II.- Fundamentos de electrnica y microcontroladores. Historia de la electrnica.
15
2.1 ELECTRONICA BASICA. 2.1.1 Historia de la electrnica. La electrnica tiene tres momentos clave los cuales son: el desarrollo de la vlvula de vaco, el transistor y la invencin del circuito integrado.
Thomas Alva Edison creador del efecto Edison descubre que los electrones fluyen entre dos electrodos de metal atreves del vaco en el ao 1883.
John Fleming se basa en los experimentos de Edison para inventar su tubo electrnico de dos elementos llamado Diodo.
Lee De Forest inventa el tubo de tres elementos llamado trodo en el ao 1906 basndose en sus colegas. Sus principales aplicaciones de estos inventos se dan en las comunicaciones, en inventos como radio telegrfica, radio telefona. En 1918 es Edwin Armstrog quien inventa el receptor llamado superheterodino el cual nos permite seleccionar entre diferentes seales, tambin invento la modulacin en frecuencia en el ao 1953, cabe resaltar que no invento el Am ya que en esas pocas ya se tena la modulacin en amplitud o AM.
En los inicios de las computadoras se deba de contar con grandes espacios para poder tener una, esto se atribuye a que estaban constituidas por bulbos, los ingenieros John Bardeen, Walter Brattain y William Shockley en el ao 1947 inventan el transistor; este componente acta con los mismos principios de funcionamiento que el tubo de vacio el cual es de menor tamao, consume menor potencia, pesa menos, es ms confiable y su produccin se da a un menor costo.
En 1952 Geoffrey W. A. Dummer en los 50s expone la idea de los circuitos integrados bajo la siguiente base, unir diodos y transistores en un solo componente.
La electrnica es una especializacin de la ingeniera y una rama de la fsica la cual se enfoca en la conduccin, as como el control del flujo de todas las partculas cargadas elctricamente. Para entender de manera simple la electrnica se tendrn que definir 3 principales conceptos los cuales son: corriente, tensin y resistencia; la corriente elctrica es generada cuando muchos electrones se mueven a la vez en la misma direccin para generar un trabajo. Tensin: es la fuerza con la que son desplazados los electrones entre dos puntos. Resistencia: es la oposicin al flujo de electrones. Ahora que se tienen estos tres conceptos se define una formula llamada la Ley de ohm la cual refiere el siguiente enunciado, la tensin es igual al producto de la corriente y la resistencia, lo cual podemos expresar de forma matemtica con la siguiente frmula: V . Captulo II.- Fundamentos de electrnica y microcontroladores. Componentes bsicos de la electrnica.
16
Debemos saber que existen tres tipos de materiales los cuales se clasifican dependiendo su nivel de conductividad en: conductores, semiconductores y aislantes; conductores son aquellos materiales los cuales tienen poca resistencia al flujo de electrones o mnima por as decirlo, semiconductores son aquellos que tienen ms oposicin al flujo de electrones pero se les sigue considerando con un buen flujo, aislantes son aquellos elementos los cuales nos brindan resistencia al flujo de electrones.
2.1.2 Componentes bsicos de la electrnica.
Existen dos clases de materiales los cuales se nombrar por su tipo de material, estos pueden ser del tipo P y tipo N, en esta idea se consolidan la mayora de los componentes electrnicos respecto a su conduccin de electrones.
Diodo. El diodo es un elemento que solo permite el flujo de electrones en una sola direccin y se le puede conectar de diferentes formas; Diodo no polarizado produce una barrera de potencial en su material ocupando los huecos con dipolos, Diodo en polarizacin directa permite el flujo de corriente cuando la tensin rompe la barrera de saturacin permitiendo el flujo de electrones, Diodo en polarizacin inversa debido al efecto de la tensin se crea una zona de huecos ms grande entre los materiales del diodo lo cual impide el flujo de electrones.
Fig. 2.1 Smbolo del diodo
Fig. 2.2 Curva caracterstica del Diodo; conectado en polarizacin directa.
nodo Ctodo Captulo II.- Fundamentos de electrnica y microcontroladores. Componentes bsicos de la electrnica.
17
Resistor.
Se usa para realizar una resistencia al flujo de electrones en un circuito, su valor depender de las necesidades que requieran la corriente o el voltaje, as mismo su valor es determinado por un cdigo de colores.
Fig. 2.3 Smbolo del resistor.
El cdigo de colores indica el valor de la resistencia, sin embargo existe una regla para saber cmo leerlas, en la figura de abajo se muestra la representacin grafica de una resistencia en su forma fsica y nos indica cmo obtener su valor mediante el cdigo de colores.
Tabla. 2.1 Cdigo de colores.
Captulo II.- Fundamentos de electrnica y microcontroladores. Componentes bsicos de la electrnica.
18
Capacitor (condensador).
Este elemento se encuentra construido por 2 tipos de materiales que conducen electrones sin embargo por la mitad tienen una capa de aislante el cual impide que ambas cargas contengan el mismo valor, mientras no est en funcionamiento no tienen contacto por lo consiguiente no conduce electrones.
Fig. 2.4 Smbolo de un capacitor.
La mayora de los capacitores tienen unidades dadas en microfaradios, picofaradios y nano faradios Debido a que un faradio es bastante grande, los condensadores o capacitores de mayor capacidad estn hechos de carbn activado y se utilizan para otro tipo de aplicaciones como prototipos de automviles elctricos. Las caractersticas de los capacitores son: capacidad se mide en faradios, tensin de trabajo este punto en particular es de suma importancia debido a que en caso de sobre pasar este lmite nuestro elemento de trabajo puede explotar o quedar perforado, tolerancia indica el porcentaje que se tiene entre lo que nos indica el elemento fsico y la capacidad real del mismo y polaridad indica la forma correcta de inducir voltaje a cada terminal que lo conforma es decir positivo con positivo y negativo con negativo. Existen 7 tipos diferentes de capacitores, por lo regular varan dependiendo de su forma fsica y componentes qumicos que lo forman; electrolticos: el dielctrico es un papel impregnado en electrolito siempre indica polaridad y una capacidad mayor a 1 microfaradio, electrolticos de Tntalo: emplean una pelcula muy fina de oxido de tantalio amorfo tienen polaridad y capacidad mayor a un microfaradio, polister metalizado: son dos laminas de policarbonato recubierto por un deposito metlico su capacidad es inferior a un microfaradio, de polister: su capacidad mxima es de 470 nanofaradios, similares a los de polister en estructura sin embargo tambin pueden tener cdigo de colores por lo que reciben el nombre de condensadores de bandera, de polister tubular: mismas caractersticas que los dos anteriores diferente forma fsica, su apariencia es redonda y alargada, cermico de lenteja o de disco: son compuestos por cermicos y su valor no alcanza un microfaradio, cermico de tubo: obsoletos debido a que se calientan mucho y con esto varan sus capacidades.
Captulo II.- Fundamentos de electrnica y microcontroladores. Componentes bsicos de la electrnica.
19
Transistor.
La palabra en si es un derivativo del idioma ingles transfer resistor el cual traducido es resistencia de transferencia este dispositivo tiene 4 formas diferentes de uso sin embargo su forma fsica es el mismo fundamento cuenta con 3 diferentes zonas de saturacin y dependiendo de su material sern las caractersticas que tenga y su conexin ya se PNP o NPN, ahora indiferentemente si es PNP o NPN cuenta con 3 pines los cuales llevan los siguientes nombres Emisor, Base y Colector.
Fig. 2.5 Smbolo del transistor; a) NPN; b) PNP.
De estas tres partes que conforman al Transistor se explicaran una a una: Emisor se encuentra altamente dopado debido a que su funcin es emitir o inyectar electrones a la base Base no se encuentra saturada ya que su funcin principal es la de dejar fluir la mayor cantidad de electrones como pueda al colector.
Colector: su funcin principal es la de colectar la mayor cantidad de electrones provenientes de la base. El Emisor es la parte ms dopada de las que conforman este componente, la base en cambio solo permite que el colector obtenga o colecte, como su nombre lo indica, la mayor cantidad de electrones posibles, dependiendo el tipo de transistor es el valor que puede aumentar o corregir el voltaje, es ms comn encontrar el uso de este dispositivo para la correccin o aumento de voltaje sin embargo tambin lo podemos emplear para aumentar la corriente, como se hace esto, conectndolo al inverso de la figura de arriba.- A que se debe esto: el emisor es la zona con mayor cantidad de electrones, y a que la corriente total del transistor es la suma de estas.
a) NPN b) PNP Captulo II.- Fundamentos de electrnica y microcontroladores. Componentes bsicos de la electrnica.
20
MAX 232. Este dispositivo nos ayuda a acoplar las seales entre el microcontrolador y el PC, debido a que el microcontrolador enva datos del orden de 4.5V el MAX 232 los amplifica a 10V, con lo cual nos permite la comunicacin entre estos dispositivos sin problemas. Este dispositivo se encuentra formado por cuatro conversores de niveles TTL al bus estndar RS232 y viceversa para la comunicacin serial, de estos cuatro conversores 2 son para la conversin RS232 a TTL y el otro par para la conversin TTL a RS232. Los niveles TTL o transistor-transistor- lgico, son seales en las cuales intervienen transistores bipolares los cuales aumentan o disminuyen el voltaje de entrada o salida. Para que este dispositivo funcione correctamente debemos de conectar unos capacitores, los cuales dependiendo de su valor ser la capacidad de transmisin o recepcin, en este caso si nosotros empleamos capacitores de 1 microfaradio nos permiten velocidades de 120Kps y de 100 nano faradios 64Kps.Las conexiones que se tienen que realizar se muestran en la siguiente figura. Vcc: de 4,5v a 5,5v., consumo: 4 mA (15 mA con carga a la salida de 3 Kohm), entradas compatibles TTL y CMOS, tensin de entrada mxima RS232: +/- 30v, tensin de Salida RS232: +/- 15v.
Fig. 2.6 Diagrama de conexin del MAX 232. Captulo II.- Fundamentos de electrnica y microcontroladores. Seales digitales y analgicos.
21
2.2 SEALES DIGITALES Y ANALOGICAS.
Se tienen 2 tipos de variables a controlar en la industria las cuales son seales digitales y seales analgicas, las seales analgicas son aquellas que pueden tender a un nmero infinito y deben de ser interpretadas mediante un rango de comparacin ya sea de voltaje o de corriente tambin se explica cmo: la naturaleza es analgica lo cual nos indica que todo intento representativo de ella se torna en una seal analgica para la industria, las seales digitales son ms sencillas y a ventaja de las seales analgicas no tienden a tener fluctuaciones en su medicin solo emitir un estado ya sea un 0 o un 1,representada en un cdigo binario, cerrado o abierto. Sin embargo no quiere decir que los estados sean tan simples pueden ser tan complejos como los analgicos o mas debido a que muchos cdigos y representacin son ejemplificadas mediante concentraciones de codificacin, una codificacin es la representacin de una dato o elemento a el entendimiento de la maquina, el cual se da en cifras binarias, estas comprenden agrupaciones como: 1101010001110 y todas las que se desprenden de esta tipo.
En la industria podemos trabajar con seales digitales y analgicas de entrada, seales analgicas y digitales de salida como lo pueden ser vlvulas de flujo, actuadores lineales, motores, variadores de frecuencia, vlvulas de paso, intercambiadores de calor, compuertas de paso, o podemos estar midiendo todos los elementos mencionados, la finalidad de tener control sobre el proceso de produccin contando con instrumentos sofisticados de medicin y actuadores, es estar dentro de lo posible de tener un control preciso de nuestro proceso.
Fig. 2.7 sensores y actuadores industriales.
Captulo II.- Fundamentos de electrnica y microcontroladores. Seales digitales.
22
2.2.1 Seales digitales.
Los valores Digitales solo pueden tener dos estados y esto se representa de la siguiente manera; por ejemplo un interruptor de hogar solo puede encender o apagar la luminaria, una bomba de agua solo se enciende o se apaga, sin embargo como ya se menciono en las seales analgicas tambin se puede variar su intensidad con lo cual podemos tener una seal analgica, los tipos de seal digital tienen ciertas reglas como el voltaje al cual debe de ser arrancado o encendido esto es un punto fundamental para la eleccin de actuadores, indicadores, controles, etc.
Las seales digitales tambin pueden tener diferentes magnitudes y escalas, entre ellas, con lo cual podemos definir o dibujar datos para determinar una tendencia a estos tipos de seales no son continuos pero si varan como se muestra a continuacin.
Fig.2.9 representacin grafica de una seal digital.
Como se visualiza en la figura anterior el 1 y 0 se va escalando en una sola lnea figurando la seal analgica sin embargo lo que est haciendo es dar 1 y 0 en diferentes magnitudes, y lo que se est registrando son los estados altos de una seal con diferente magnitud, al hablar de una seal digita debemos de preguntarnos si podemos convertirlas a seales analgicas y esto se puede realizar por medio de las siguientes tcnicas como son:
Desplazamiento de amplitud: Podemos definir los estado 1 y 0 mediante dos curvas las cuales pueden tener el siguiente formato s (t)=A x Cos (2 x pi x f x t) esta ecuacin representa el 1 y si igualamos la misma ecuacin con 0 representara el 0.
Desplazamiento de Frecuencia: Se representa por 2 frecuencias cercanas a la original.
Captulo II.- Fundamentos de electrnica y microcontroladores. Seales digitales.
23
Desplazamiento de Fase: El uno se representa con una fase contraria a la portadora y el cero con una igual a la portadora.
Ahora si bien se desea cambiar una seal digital a una analgica se deber representar en decimales o bien haciendo una conversin de binario a decimal con lo cual podemos realizar valores crecientes y descendientes; es decir si tenemos una barra de leds con 3 estados los podemos definir con nmeros binarios teniendo el siguiente orden 111 se cambia a decimal tendramos un valor de 7; con lo cual tendramos 7 diferentes combinaciones.
Al hablar de digital y binario no quiere decir en lo absoluto lo mismo ya que el cdigo binario solo es un contexto de lo digital, existen otro tipo de conversiones a las cuales se puede cambiar el cdigo binario como lo es decimal, hexadecimal, octal, estas por lo que se demuestra no tienen nada que ver con lo digital en cuanto a seal simplemente es un lenguaje que se convierte o se transcribe al entendimiento del ordenador. A continuacin se muestra una tabla de conversiones en la cual se puede observar claramente como el valor binario, decimal, hexadecimal, son valores para el entendimiento de cierto proceso o dispositivo.
Tabla 2.2 conversiones entre sistemas de numeracin.
Captulo II.- Fundamentos de electrnica y microcontroladores. Seales analgicas.
24
2.2.2 Seales analgicas.
Los tipos de seales analgicas comunes son: la intensidad, presin, tensin, temperatura, mecnica y la potencia, estos rangos son definidos mediante la amplitud y el tiempo, sern interpretados de acuerdo al instrumento de medicin con el cual se realizara la comparacin ya sean respuesta de voltaje (+/-10V, +/- 24V, 0-12V) o de corriente (4-20mA); en caso de hablar de un termmetro que mide de -12 a 50 grados centgrados se interpretara de la siguiente manera: el valor mnimo del termmetro estar interpretado por 4mA y el valor mximo por 20mA los valores intermedios sern interpolados dependiendo que tan amplio y preciso sea el rango del instrumento de medicin.
Fig. 2.8 representacin grafica de una seal analgica.
Dependiendo de la variable a interpretar podemos definir los parmetros mnimos y mximos con los cuales trabaja nuestra medicin ya sean de corriente o voltaje, y estos varearan dependiendo a la continuidad con la que nuestra seal de referencia este cambiando y la velocidad respecto al tiempo, as mismo nosotros decidiremos la precisin con la que deseamos trabajar.
Ya que hablamos de la interpretacin del valor analgico a travs de un valor de voltaje o corriente definiremos la palabra que describe este fenmeno la cual es Digitalizacin; es decir la conversin analgico digital, as mismo existe una definicin que describe los valores analgicos como infinitos, cuando nosotros digitalizamos una seal definimos el numero de valores que le daremos, esto depende de la resolucin que deseamos o la precisin con la deseamos captar la seal. Para qu necesitamos una seal ms precisa? u obtener los cambios mnimos de un sistema o de una seal, cuando tenemos un sistema de lazo cerrado la ms mnima variacin es de suma importancia para poder calcular la respuesta del sistema.
Captulo II.- Fundamentos de electrnica y microcontroladores. Microcontroladores, PIC`s.
25
2.3 MICROCONTROLADORES.
Los perifricos son aquellos elementos que brindan una funcin a la unidad de procesamiento central ya sea de entrada o de salida, no todos los perifricos son esenciales sin embargo algunos pueden tornarse fundamentales por el tipo de aplicacin que se le da, los perifricos se pueden dividir en cinco categoras diferentes como lo son:
Perifricos de entrada: son aquellos que colectan, procesan y perciben informacin, la cual es enviada al la unidad de procesamiento central para realizar una accin o almacenamiento pertinente segn su lgica de programacin.
Perifricos de salida: son aquellos que realizan una accin la cual puede ser: mecnica y visual dentro de lo visual se incluya toda accin para alertar, informar contextualmente, visualmente o ilustrativamente al usuario; dentro de lo mecnico se incluye cualquier accin que realice un trabajo.
Perifricos de entrada y salida: como ya se ha visto anteriormente por separado cada trmino estos dispositivos realizan la conjuncin de los 2 anteriores y en su mayora son unidades de almacenamiento puesto que puedes leer y escribir sobre estos.
Perifricos de almacenamiento: simplemente almacenan informacin por un tiempo indeterminado.
Perifricos de comunicacin: son dispositivos que transmiten y reciben informacin hacia el ordenador ya sea para trabajar en conjunto o para enviar y recibir datos por separado.
2.3.1 PICs
Son encapsulados usados para la programacin; cuentan con un sistema mnimo, memoria para encriptar un programa y datos, conversores analgicos y digital, perifricos de entrada o salida, mdulos de comunicacin, estos elementos los hace mejores que los microprocesadores sin embargo son ms cerrados ya que a los microprocesadores se les pueden agregar dispositivos externos para realizar un conjunto ms especifico y dedicado, los microcontroladores cuentan con un set de instrucciones reducido lo cual nos servir para la implementacin en nuestro proyecto.
Se pueden programar de numerosas maneras sin embargo las ms comunes son C, lenguaje ensamblador y Basic; as como la combinacin de estos lenguajes.
Captulo II.- Fundamentos de electrnica y microcontroladores. PIC 16F877A y sus caractersticas.
26
La diversidad de PICs depende a sus caractersticas y potencia, con lo cual podemos elegir dependiendo de las principales funciones con las que deseamos contar, el presupuesto y la potencia, tambin se debe tomar en cuenta los recursos de hardware para la programacin de este. Debido a esto nosotros hablaremos del PIC 16F877A ya que se cuenta con el programador y el PIC.
2.3.2 PIC 16F877A. El PIC ser la traduccin entre nuestros componentes de entrada, salida y nuestra PC, algunas de las caractersticas principales del PIC 16F877A es la comunicacin serial, la cual ser implementada en nuestro proyecto como acoplador de seales, ya que no contamos con los recursos para emplear componentes de National Instruments. 2.3.2.1 Caractersticas del PIC 16F877A. Para iniciar la familiarizacin con este componente procederemos a mencionar sus principales caractersticas:
Procesador de arquitectura RISC avanzada. Juego de 35 instrucciones con 14 bits de longitud. Todas ellas se ejecutan en un ciclo de instruccin menos las de salto que tardan 2. Frecuencia de 20 MHz Hasta 8K palabras de 14 bits para la memoria de cdigo, tipo flash. Hasta 368 bytes de memoria de datos RAM. Hasta 256 bytes de memoria de datos EEPROM. Hasta 14 fuentes de interrupcin internas y externas. Pila con 8 niveles. Modos de direccionamiento directo, indirecto y relativo. Perro guardin (WDT). Cdigo de proteccin programable. Modo Sleep de bajo consumo. Programacin serie en circuito con 2 pines. Voltaje de alimentacin comprendido entre 2 y 5.5 voltios. Bajo consumo (menos de 2 mA a 5 V y 5 MHz).
Ahora se describir por separado cada punto de sus principales caractersticas.
Procesador de arquitectura RISC (Reduced Instruction Set Computer) avanzada. Se caracteriza por tener un nmero reducido de instrucciones y que estas se ejecutan en la misma cantidad de tiempo, tienen una arquitectura Harvard la cual trabaja las zonas de memoria de programa y datos en forma separada, posee unidades que trabajan en forma paralelas conectada por tuberas a continuacin se muestra un bloque descriptivo de la arquitectura tipo Harvard. Captulo II.- Fundamentos de electrnica y microcontroladores. PIC 16F877A y sus caractersticas.
27
Fig.2.10 Arquitectura Harvard de un microcontrolador.
Juego de 35 instrucciones con 14 bits de longitud. Todas ellas se ejecutan en un ciclo de instruccin menos las de salto que tardan 2. Tabla. 2.3 Juego de instrucciones del Pic16F877A.
Captulo II.- Fundamentos de electrnica y microcontroladores. PIC 16F877A y sus caractersticas.
28
Tabla. 2.3 Juego de instrucciones del Pic16F877A. (Continuacin)
Captulo II.- Fundamentos de electrnica y microcontroladores. PIC 16F877A y sus caractersticas.
29
Tabla. 2.3 Juego de instrucciones del Pic16F877A. (Continuacin)
Frecuencia de 20 MHz El Cristal u Oscilador genera pulsos a cada pulso se le llama cuadratura y se representa con la letra Q, estos pulsos van de Q1-Q4 y a esta etapa se le llama ciclo lo cual indica que entre ms rpido o ms frecuencia tenga nuestro cristal mayor ser la velocidad de respuesta de este.
Hasta 8K palabras de 14 bits para la memoria de cdigo, tipo flash. En la siguiente figura se muestra el reparto de los 14 bits:
Fig. 2.11 Reparto de los 14 bits por instruccin de PIC16F877A.
El OPCODE especifica la instruccin a la que hace referencia, D la direccin en la que se encuentra, por ende el lugar en donde afecta directamente la instruccin, FILE es complemento de D por as llamarlo.
Hasta 368 bytes de memoria de datos RAM. Entiende todos los espacios con los que cuenta el microcontrolador y entre estos tenemos Registros de propsito Especial y Registros de propsito General estos se derivan de sus siglas en ingles SFR, GFR; los de funcin especial nos ayudan a configurar el hardware y los registros internos del microcontrolador como los puertos TRIS; los GFR son posiciones para almacenar valores que empleemos en nuestro programa.
Hasta 256 bytes de memoria de datos EEPROM. La memoria EEPROM nos ayuda a utilizar la memoria del microcontrolador debido a que no podemos dejar valores dentro de esta directamente.
Captulo II.- Fundamentos de electrnica y microcontroladores. PIC 16F877A y sus caractersticas.
30
Hasta 14 fuentes de interrupcin internas y externas. Cuando necesitamos hacer una interrupcin, el microcontrolador se dirige a esta zona y busca las instrucciones que cumplan con lo demandado.
Pila con 8 niveles. Esto nos indica que puede tener hasta 8 Sub rutinas anidadas o encerradas.
Modos de direccionamiento directo, indirecto y relativo Podemos direccionar las variables mediante el mismo curso del programa o podemos hacer referencia a un sub-rutina, asimismo podemos relacionar 2 tipos de lenguaje en u mismo programa.
Perro guardin (WDT). Evita que el programa se quede colgado lo cual significa que no responda o se pierda en una instruccin evitando perder el proceso de informacin o la secuencia de los datos.
Cdigo de proteccin programable. Podemos evitar la lectura del programa una vez cargado, lo cual es til para evitar su reproduccin, protegiendo los derechos de autor.
Modo Sleep de bajo consumo. Detiene el Cristal lo cual evita el consumo de energa notablemente.
Programacin serie en circuito con 2 patitas. Podemos interconectar 2 componentes y transmitir datos entre s.
Voltaje de alimentacin comprendido entre 2 y 5.5 voltios. Este es el valor predeterminado que tiene el componente sin embargo podemos modificarlo programticamente.
Bajo consumo (menos de 2 mA a 5 V y 5 MHz). En modo SLEEP podemos reducir el consumo de voltaje y el de corriente esto es bastante til cuando realizamos mejoras o innovaciones a un circuito para aumentar el ciclo de vida de la batera.
Captulo II.- Fundamentos de electrnica y microcontroladores. PIC 16F877A y sus caractersticas.
31
A continuacin se muestra la disposicin de pines del componente:
Fig. 2.12 Disposicin de los pines del PIC 16F877A.
La descripcin de cada una de las terminales de conexin de la figura anterior se muestra en la tabla a continuacin: Tabla. 2.4 Descripcin de cada Pin del PIC 16F877A. PIN DESCRIPCION OSC1/CLKIN(9) Entrada para el oscilador o cristal externo. OSC2/CLKOUT (10) Salida del oscilador. Este pin debe conectarse al cristal o resonador. En caso de usar una red RC este pin se puede usar como tren de pulsos o reloj cuya frecuencia es 1/4 de OSC1 MCLR/VPP/ THV(1) Este pin es el reset del microcontrolador, tambin se usa como entrada o pulso de grabacin al momento de programar el dispositivo. RA0/AN0(2) Puede actuar como lnea digital de E/S o como entrada analgica del conversor AD (canal 0) RA1/AN1(3) Similar a RA0/AN0 RA2/AN2/VREF-(4) Puede actuar como lnea digital de E/S o como entrada analgica del conversor AD (canal 2) o entrada negativa de voltaje de referencia RA3/AN3/VREF+(5) Puede actuar como lnea digital de E/S o como entrada analgica del conversor AD (canal 3) o entrada positiva de voltaje de referencia RA4/T0CKI (6) Lnea digital de E/S o entrada del reloj del timer 0. Salida con colector abierto RA5/SS#/AN4(7) Lnea digital de E/S, entrada analgica o seleccin como esclavo de la puerta serie sncrona. RB0/INT(21) Puerto B pin 0, bidireccional. Este pin puede ser la entrada para solicitar una interrupcin. RB1(22) Puerto B pin 1, bidireccional. RB2(23) Puerto B pin 2, bidireccional. RB3/PGM(24) Puerto B pin 3, bidireccional o entrada del voltaje bajo para programacin RB4(25) Puerto B pin 4, bidireccional. Puede programarse como peticin de interrupcin cuando el pin cambia de estado. RB5(26) Puerto B pin 5, bidireccional. Puede programarse como peticin de interrupcin cuando el pin cambia de estado. RB6/PGC(27) Puerto B pin 6, bidireccional. Puede programarse como peticin de interrupcin cuando el pin cambia de estado. En la programacin serie recibe las seales de reloj.
Captulo II.- Fundamentos de electrnica y microcontroladores. PIC 16F877A y sus caractersticas.
32
Tabla. 2.4 Descripcin de cada Pin del PIC 16F877A. (Continuacin) PIN DESCRIPCION RB7/PGD(28) Puerto B pin 7, bidireccional. Puede programarse como peticin de interrupcin cuando el pin cambia de estado. En la programacin serie acta como entrada de datos RC0/T1OSO/ T1CKI(11) Lnea digital de E/S o salida del oscilador del timer 1 o como entrada de reloj del timer 1 RC1/T1OSI/ CCP2(12) Lnea digital de E/S o entrada al oscilador del timer 1 o entrada al mdulo captura 2/salida comparacin 2/ salida del PWM 2 RC2/CCP1(13) E/S digital. Tambin puede actuar como entrada captura 1,/salida comparacin 1/ salida de PWM 1 RC3/SCK/SCL (14) E/S digital o entrada de reloj serie sncrona /salida de los mdulos SP1 e I2C. RC4/SDI/SDA (15) E/S digital o entrada de datos en modo SPI o I/O datos en modo I2C RC5/SDO(16) E/S digital o salida digital en modo SPI RC6/TX/CK(17) E/S digital o patita de transmisin de USART asncrono o como reloj del sncrono RC7/RX/DT(18) E/S digital o receptor del USART asncrono o como datos en el sncrono RD0/PSP0- RD7/PSP7 (19-22, 27-30) Los ocho pines de esta puerta pueden actuar como E/S digitales o como lneas para la transferencia de informacin en la comunicacin de la puerta paralela esclava. Solo estn disponibles en los PIC 16F874/7. RE0/RD#/AN5 (8) E/S digital o seal de lectura para la puerta paralela esclava o entrada analgica canal 5. RE1/WR#/AN6 (9) E/S digital o seal de escritura para la puerta paralela esclava o entrada analgica canal 6. RE2/CS#/AN7 E/S digital o seal de activacin/desactivacin de la puerta paralela esclava o entrada analgica canal 7. VSS(8,19) Tierra. VDD(20,32) Fuente (5V).
Debido a que nuestro tema de inters es el modulo de comunicacin Asncrona solo se har nfasis en este tema.
Captulo II.- Fundamentos de electrnica y microcontroladores. PIC 16F877A y sus caractersticas.
33
Comunicacin asncrona.
El PIC16F877A cuenta con un modulo de comunicacin serial el cual puede transmitir y recibir datos, lo que se le llama comunicacin asncrona, la comunicacin sncrona es el envi o recepcin de datos. Nosotros trabajaremos con la comunicacin asncrona la cual se comunica por los pines RC6/TX Pin 6 del puerto C y el RC7/RX Pin 7 del puerto C; la comunicacin est basada en la normatividad RS-232-C la cual emplearemos para nuestros fines, a este modulo tambin lo llaman USART y tiene los siguientes elementos:
Generador de Baudios. Circuito de muestreo. Transmisor Asncrono. Receptor Asncrono.
A continuacin se describen cada uno de los elementos:
Generador de Baudios. Como ya se menciono la comunicacin de este puerto es bajo la norma RS-232 la cual tiene una velocidad estandarizada para la comunicacin estos valores se encuentran grabados en la memoria del microcontrolador y solo debemos de saber seleccionar el valor para poder establecer uno, estos valores no se pueden seleccionar directamente debemos de realizar un pequeo calculo para saber el valor correspondiente, a este valor se le llama X y est cargado en el registro SPBRG, tambin debemos de tomar en cuenta otro valor el cual es el BRGH del registro TXSTA; Este valor nos indica si nuestro muestreo ser a baja velocidad o a alta velocidad, si tenemos el BRGH=1 nuestro muestreo ser a alta velocidad por el contrario si nuestro valor lo cargamos como BFGH=0 ser a baja velocidad, una vez teniendo definido este parmetro debemos de obtener el valor de la constante K la cual nos ayuda en la obtencin de la frecuencia de funcionamiento; teniendo estos parmetros bien definidos procedemos a calcular el valor con la siguiente frmula:
De estos datos nosotros contamos con la K la cual depende del valor de BRG si lo tenemos a 1 es de 16 y si lo tenemos a 0 es de 64, el Fosc el cual es el valor de nuestro cristal. Tambin contamos con una tabla la cual establece el valor de la Frecuencia a baja y a alta velocidad:
Captulo II.- Fundamentos de electrnica y microcontroladores. PIC 16F877A y sus caractersticas.
34
Tabla 2.5 Velocidad baja de transmisin del PIC16F877A.
Tabla 2.6 Velocidad alta de transmisin del PIC16F877A.
Captulo II.- Fundamentos de electrnica y microcontroladores. PIC 16F877A y sus caractersticas.
35
Podemos realizar la formula y obtener un numero o podemos colocar el valor al cual deseamos transmita nuestro dispositivo ya que cualquiera de las tablas nos da el valor de SPBRG el cual est dado en decimal Solo necesitaremos cargar este valor al microcontrolador entre apstrofos y habremos seleccionado un valor de Transmisin; es importante resaltar que debemos de tener muy en cuenta el valor de nuestro oscilador para asegurar el funcionamiento de nuestro dispositivo.
Una vez determinada la velocidad procederemos a analizar el modo de transmisin de datos, primero se deposita el dato en la seccin TXREG, despus al registro TSR el cual se encarga de enviar los datos bajo la norma RS-232, una vez hecho esto el registro RSR los enva al registro RCREG el cual coloca a disposicin las bits para su procesamiento.
Para facilitar el entendimiento se explica la transmisin mediante un diagrama:
Fig. 2.13 Diagrama por Bloques de la transmisin del PIC16F877A.
Como se muestra en la figura anterior el TSR es el ncleo de la comunicacin debido a que este elemento es el que obtienen el dato y lo desplaza al registro TXREG, el registro TXIF se pone a 1 si este registro se encuentra vacio, el bit TRMT nos indica cuando no tenemos bits en el registro TSR. Para poder configurar los bits de la transmisin de deben de especificar ciertos valores en su registro los cuales se muestran a continuacin: Tabla 2.7 Bits para Configurar la transmisin del PIC16F877A.
Su respectivo modo de configuracin: Bit 7 CSRC: bit de seleccin de reloj: Modo asncrono: no incluye Modo sncrono 1 = Modo maestro (reloj generado internamente desde BRG) 0 = Modo esclavo (reloj generado por una fuente externa) Captulo II.- Fundamentos de electrnica y microcontroladores. PIC 16F877A y sus caractersticas.
36
Bit 6 TX9: Habilita el bit 9 de transmisin: 1 = Selecciona transmisin de 9 bits 0 = Selecciona transmisin de 8 bits Bit 5 TXEN: Activa la transmisin: 1 = Transmisin activada 0 = Transmisin desactivada Nota: SREN/CREN anula TXEN en modo sncrono. Bit 4 SYNC: Bit de seleccin del modo del USART: 1 = Modo sncrono 0 = Modo asncrono Bit 3 No implementado: Ledo como '0'. Bit 2 BRGH: Bit de seleccin de la velocidad de baudios: Modo asncrono: 1 = Alta velocidad 0 = Baja velocidad Modo Sncrono: No se usa en este modo Bit 1 TRMT: Bit de estado del registro de desplazamiento de transmisin: 1= TSR vaco 0 = TSR no vaco Bit 0 TX9D: Bit 9 del dato a transmitir (puede ser el bit de paridad). Ahora como ya se dijo tenemos la comunicacin Asncrona con lo cual procederemos a ejemplificar la recepcin una vez que ya hemos asociado la transmisin.
Fig. 2.14 Diagrama por Bloques de la recepcin del PIC16F877A. Captulo II.- Fundamentos de electrnica y microcontroladores. PIC 16F877A y sus caractersticas.
37
Podemos declarar que el ncleo de la recepcin es el registro RSR el cual contiene la recepcin de los datos, una vez que tenemos el dato en RSR procede a enviarlos a el RCREG una vez quela transferencia se ha completado el registro RCIF se coloca a 1 lgico lo cual indica que la transmisin a sido satisfactoria, el bit RCREG es capaz de almacenar 2 datos y poseer un tercero en RSR, esta parte de la estructura cuenta con alarmas de sobre escritura en caso de tener ms de 3 bits en el TSR y en caso de tener un error en el Frame se tiene el FERR, el cual no detecta el fin de la transmisin.
Para poder configurar la recepcin y transmisin debemos de tomar en cuenta las siguientes tablas:
Tabla 2.8 Bits para Configurar la recepcin del PIC16F877A.
Su respectivo modo de configuracin Bit 7 SPEN: Habilitacin del puerto serie: 1 = Puerto serie habilitado (configures RC7/RX/DT and RC6/TX/CK pins as serial port pins) 0 = Puerto serie deshabilitado Bit 6 RX9: Habilita el bit 9 de recepcin: 1 = Selecciona recepcin de 9 bits 0 = Selecciona recepcin de 8 bits Bit 5 SREN: Configura la recepcin sencilla: Modo asncrono no incluye Modo sncrono maestro 1 = Habilita recepcin sencilla 0 = Deshabilita recepcin sencilla Modo sncrono esclavo no se utiliza Bit 4 CREN: Configura la recepcin continua: Modo asncrono: 1 = Habilita modo de recepcin continua 0 = Deshabilita recepcin continua Modo sncrono: 1 = Habilita recepcin continua hasta que el bit CREN es borrado 0 = Deshabilita recepcin continua
Captulo II.- Fundamentos de electrnica y microcontroladores. PIC 16F877A y sus caractersticas.
38
Bit 3 ADDEN: Deteccin de direccin: Modo asncrono con 9 bits (RX9 = 1): 1 =Activa la deteccin de direccin, activa la interrupcin y descarga el buffer de recepcin al activarse RSR<8> 0 =Desactiva la deteccin de direccin, todos los bits son recibidos y el bit 9 puede ser utilizado como bit de paridad Bit 2 FERR: Bit de error de trama: 1 = Error de trama (puede ser actualizado leyendo el registro RCREG y recibir el siguiente dato vlido 0 = No hay error de trama Bit 1 OERR: Bit de error de sobre pasamiento: 1 = Error de sobre pasamiento (puede ser borrado escribiendo un 0 en el bit CREN) 0 = No hay error de sobre pasamiento Bit 0 RX9D: Bit 9 del dato recibido (Puede ser el bit de paridad).
Una vez que conocemos las caractersticas y el modo de configuracin de los registros procedemos a realizar, segn las necesidades de la aplicacin, nuestro programa para poder recibir y transmitir datos por el puerto serial, debemos de definir cules son las principales caractersticas de nuestro programa para poder llevar a cabo el programa, ya que si no identificamos adecuadamente los pasos a seguir perderemos bastante tiempo divagando.
Captulo II.- Fundamentos de electrnica y microcontroladores. Tipos de comunicacin, comunicacin serial.
39
2.4 TIPOS DE COMUNICACIN.
Una interfaz es la medio por el cual un usuario puede comunicarse con la maquina, PC o un equipo, esto entiende todos los puntos de contacto entre el usuario y el dispositivo a manejar, este tipo de interfaz entiende mens, alarmas, indicadores, controles, despliegue de datos relevantes, algunas opciones de configuracin general de la maquina entre otros; la importancia de una buena interfaz define la eficiencia de la misma en lo que refiere a la operacin, dependiendo de las herramientas que te brinde la interfaz, respecto a sus componentes, ser la optimizacin de la operacin o funcionalidad de esta y entre mas variables del proceso cubra la interfaz podremos entender y visualizar ms eficazmente su funcionamiento. Los grficos de interfaz son aquellos que nos despliegan de forma asimilativa los puntos clave o en su debida forma el proceso a controlar, en el se debern de visualizar las principales variables o variables clave las cuales son de mayor importancia ya que las dems estarn en conjunto con algn indicador o controlador en su lgica de programacin.
As como se puede llamar un grafico de control como interfaz, tambin podemos llamar una interfaz a los sensores que estn comunicando o transmitiendo su estado a la unidad de procesamiento central, esta seal podr ser censada directamente a un grafico o analizada y procesada por la lgica de programacin de nuestra unidad lgica. La comunicacin entre el ordenador o unidad de procesamiento central llamada puerto serie tambin es una forma de interfaz, la cual transmite bit a bit de manera secuencial y es la que utilizaremos.
2.4.1 Comunicacin serial.
La comunicacin serial es un protocolo de comunicacin, no es directamente o particularmente un elemento fsico, la comunicacin serial transmite un bit a la vez y puede alcanzar distancias prolongadas, su cdigo de transmisin es en cdigo ASCII; para realizar la comunicacin se utilizan 3 terminales GND tierra o referencia, TXD transmisin, RXD recepcin de datos. Cuando la comunicacin es asncrona podemos estar enviando y recibiendo datos por las terminales ya antes mencionadas sin embargo es necesario establecer ciertos valores o parmetros de comunicacin como son la velocidad de transmisin, bits de datos, bits de parada y paridad.
La velocidad de transmisin o Baud Rate. Esto indica el nmero de bits que se transmite por segundo, se representa en baudios la equivalencia es 1segundo-1baudio, si se habla de ciclos de reloj nos indica Hz, la relacin es 1-1 este valor nos indica la frecuencia con la que se estar muestreando.
Captulo II.- Fundamentos de electrnica y microcontroladores. Tipos de comunicacin serial.
40
Bits de datos. Es el numero de bits que se transmite por ejemplo el cdigo ASCII tiene un rango de 0-127 y esto representa 7 bits por paquete un paquete equivale a un byte.
Bits de parada. Los bits de parada nos indican el fin de un paquete de datos o de la transmisin y de cierta manera es un control para la sincronizacin de los ciclos de reloj.
Paridad. Nos indica si existen errores en la transmisin de datos; puede ser impar o par esto nos indica el ltimo digito que se est enviando y su valor, esto permite al dispositivo receptor saber el estado de un bit.
2.4.2 Tipos de comunicacin serial. RS-232. Estndar ANSI/EIA 232; Es el conector hallado en la PC y se utiliza para conectar perifricos e instrumentacin ya sea para un control o aplicacin, a lo largo de los aos se han dado numerosas mejoras las cuales nos han brindado mayor rapidez y se ha prolongado la distancia en la comunicacin por medio de este dispositivo fsico de comunicacin.
Conector DB9. Cuenta con 9 pines de los cuales nosotros solo usaremos 3 el pin 3, 2 y 5 los cuales respectivamente son TXD transmisin de datos, RXD recepcin de datos, GDN tierra o referencia.
Fig. 2.15 Conector DB9. RS-422. La diferencia entre la comunicacin RS-232 es la distancia y la inmunidad al ruido, estas caractersticas lo convierten en una ventaja en la utilizacin de la industria, una caractersticas ms es que se usa en las computadoras Apple de Macintosh.
Captulo II.- Fundamentos de electrnica y microcontroladores. Tipos de comunicacin serial.
41
RS-485 Es una mejora a la RS-422, sin embargo en esta podemos incrementar el nmero de dispositivos que se pueden conectar, esta caractersticas es bastante til para poder conectar varios dispositivos sobre un mismo puerto con lo cual se crean redes de comunicacin, nos brinda la posibilidad de conectar dispositivos bajo la norma RS-422.
Handshaking intercambio de pulsos de sincronizacin. Cuando comenzamos a tener problemas debido a sobrecargas en la transmisin de datos el Handshaking entra en accin, este fenmeno se da en el momento que la sincronizacin de velocidades no es suficiente, existen tres tipos de Handshaking los cuales se explican a continuacin:
Handshaking por software: Por medio de caracteres enviados a travs de software, como si fuesen datos, utilizados como datos de control en la comunicacin establece la manera de trabajar del canal serie, una desventaja grande es que al trabajar con datos binarios los caracteres que asimilen los nmeros 17 y 19 sern ledos como instrucciones de control y nuestra comunicacin falle.
Handshaking por Hardware: Este mtodo se basa en las lneas del conector empleado RTS/CTS y DTR/DSR las cuales al activar los pulsos que las contienen nos permiten enviar y recibir datos de manera controlada, con lo cual evitamos sobrecargar nuestro puerto de comunicacin.
Handshaking por XModem: Este mtodo es ms especfico, debido a que no todos los dispositivos de comunicacin lo ocupan o lo conocen si quiere, esto se debe a que solo se emplea en los Mdems.
Puerto USB (Universal Serial Bus): Puerto de gran velocidad para comunicar computadoras y perifricos soporta transferencias de hasta 12Mbps. Un slo puerto USB permite ser usado para conectar ms de 127 dispositivos perifricos.
42
LENGUAJES DE PROGRAMACION Y LabVIEW.
CAPITULO III Captulo III.- Lenguajes de programacin y LabVIEW. Tipos de lenguaje de programacin.
43
3.1 TIPOS DE LENGUAJES DE PROGRAMACION.
Tipos de programacin. Los tipos de programa que existen son variados sin embargo en base al mtodo que se desee aplicar o tcnica ser la manera en la que se presentara la solucin a la problemtica, aunado a esto entre mas estructurado este el programa tendremos una fuente mejor documentada internamente; algunas de las ventajas de un programa bien estructurado son las de la claridad del programa, menos pruebas a la hora de compilar y encontrar errores, aumenta la productividad del programador.
Programacin modular. La programacin modular se base en un modulo central el cual recolectara la informacin de los sub- mdulos que lo forman transmitiendo la informacin en parmetros, retroalimentados y coordinados por el modulo central, sin embargo estos sub-mdulos pueden contener otros y pasan a ser centrales de los propios.
Fig. 3.1 Programacin modular.
Programacin orientada a objetos. La programacin orientada a objetos se basa en los polimorfismos y la herencia, este tipo de caractersticas nos permiten realizar tareas animadas sobre un elemento formado por datos, los cuales pueden estar visibles o no, esto depender del objetivo del programador.
Fig. 3.2 Programacin orientada a objetos.
Captulo III.- Lenguajes de programacin y LabVIEW. Tipos de lenguaje de programacin.
44
Programacin concurrente. Es la simultaneidad en la ejecucin de mltiples tareas a la vez de diferentes usuarios, esto involucra una programacin bastante extensa y tediosa con lo cual obtendremos poca rapidez al realizar acciones sobre el programa, se encuentran ms comnmente en redes de computadores distribuidos.
Fig. 3.3 Aplicacin de programacin concurrente.
Programacin funcional. Su principal funcin es la de llamar y declarar funciones dentro de otras funciones del tipo aritmtico, este tipo de programacin tiene sus races en el clculo Lambda, las caractersticas principales de este tipo de programacin son: no usan variables, no tienen iteraciones, no usan estructuras, solo se usan funciones recursivas, solo se usan definiciones de funciones.
Programacin Lgica. La inteligencia artificial emplea este tipo de programacin debido a que dependiendo de diferentes variables, datos, circunstancias o acciones el ordenador pueda dar soluciones inteligentes, esto se logra mediante teoras y clculos matemticos los cuales por medio de datos predestinados en el ordenador toma decisiones y anticipa movimientos o acciones.
Fig. 3.4 Programacin lgica.
Captulo III.- Lenguajes de programacin y LabVIEW. Tipos de lenguaje de programacin.
45
Comenzaremos dando algunas definiciones las cuales son: Tecnologa es el empleo de la ciencia y la tcnica para obtener beneficios y servicios los cuales cumplan las expectativas de las necesidades y de los seres humanos.
Programacin: es la planeacin y coordinacin de un proyecto as como el resultado del mismo, el instrumento que ejecuta las tareas automatizadas dentro de un sistema informtico, las herramientas que emplearemos para estructurar la lgica de un proceso repetitivo.
Programa: es el acumulado de sentencias las cuales se encuentran dadas de alta en el ordenar lo cual las hace entendibles para el mismo con el fin de resolver un problema definido, la estructura del programa debe de ser finito, es decir, tiene un inicio y un final; debe de estar creado para no tener variables en los resultados que provengan de las mismas condiciones y variables.
Metodologa de la programacin: es el conjunto de criterios, mtodos y descripciones pertinentes que nos indiquen la forma de desarrollar un programa.
Lenguaje de programacin: es la sintaxis y reglas que los programadores emplean para la codificacin de instrucciones o algoritmo de programacin.
Entorno de programacin: son las herramientas empleadas para el desarrollo de un programa. Recursos son aquellos perifricos que se utilizan para la elaboracin de un programa.
Captulo III.- Lenguajes de programacin y LabVIEW. Evolucin de los lenguajes de programacin.
46
3.2 EVOLUCION DE LOS LENGUAJES DE PROGRAMACION.
Dividiremos en 5 generaciones los lenguajes de programacin.
Primera generacin: lenguaje maquina. Es la serie de datos que el hardware puede interpretar provenientes de un ordenador, y es por medio de 1 y 0, estos a su vez estn codificados, provenientes de una lectura de voltaje; a este tipo de codificacin o 1 y 0 se les denomina instruccin, cada instruccin realiza una accin y a este conjunto de acciones se les denomina lenguaje maquina, un tipo de instruccin puede tener una secuencia infinita de 1 y 0 ejemplo 11100001001011000011, cada instruccin puede contener miles de este tipo de codificaciones por lo cual es sumamente tedioso y problemtico encontrar errores en un programa simple. Ahora con el transcurso de este desarrollo se dedujo que la maquina nos puede ayudar para facilitar la programacin y se crearon grupos alfabticos llamados mnemotcnico estos no son ms que palabras, por as llamarlas, definidas en el ordenador las cuales ya estn codificadas y de este tipo de palabras se desprenden las instrucciones.
Segunda generacin: se crean los primeros lenguajes ensambladores. Este cuenta con un conjunto de sentencias o instrucciones precedidas de 1 y 0, la estructura de este tipo de lenguajes debe de tener una secuencia lgica, como por ejemplo, definir el tema que se emplea entrar en el tema, estipular las herramientas del tema a emplear etc., este tipo de instruccin no nos aleja del principal objetivo a comparacin con del lenguaje maquina debido a que no nos tenemos que ocupar de la codificacin de 1 y 0; digamos que las instrucciones son nuestros medios de comunicacin con el lenguaje maquina la estructura del lenguaje ensamblador es esencialmente el siguiente Etiqueta; este es opcional y brinda una ayuda para saber el valor o tipo de instruccin que se emplea, Opcode es el portador del mnemnico de la instruccin o la directiva del ensamblador, Operandos es la ejecucin que realiza, comentario no es necesario sin embargo sirve para orientar al programador, Directivas no tienen una codificacin hacia la maquina sin embargo el ensamblador las entiende como un valor, EQU asigna a una variable el valor deseado, DC asigna valores a constantes dentro de un programa, DS guarda un espacio en la memoria para almacenar algn dato, Interrupciones nos permiten generar excepciones o situaciones las cuales pueden ser ajenas o internas segn el origen que se les demande.
Tercera generacin: se crean los primeros lenguajes de alto nivel. Los lenguajes de alto nivel buscan independizar la mquina del programa como los son: FORTRAN, LISP, ALGOL, COBOL, APL, SNOBOL, PROLOG, MODULA2, ALGOL68, PASCAL, SIMULA67, ADA, C++, LIS, EUCLID, BASIC y sus versiones de cada uno; a continuacin de describen algunos:
FORTRAN abreviatura de Formula Translator es desarrollado por IBM en el ao 1955 es el primer lenguaje de alto nivel, su principal funcin esta en ciencia matemtica debido a su potencia para resolver clculos Captulo III.- Lenguajes de programacin y LabVIEW. Evolucin de los lenguajes de programacin.
47
matemticos sin embargo poco eficiente para la elaboracin de programas orientados a gestiones de archivos y tratamiento de cadenas, su evolucin fue orientada a sus debilidades, lo que indica que en el ao 1977 era ms eficiente en la gestin de archivos y tratamiento de cadenas de caracteres.
COBOL (Common Business Oriented Language) lo desarrolla el comit CODASYL en el ao 1960, lo patrocino el departamento de defensa de los estados unidos con el propsito de obtener una herramienta eficaz en la gestin de archivos.
PL/1 (Programming Language 1) lo desarrolla IBM en los 60s con el objetivo de obtener un programa ms general a los existentes en esa poca tanto una herramienta para el clculo matemtico como una herramienta en la gestin de archivos como: formato de escritura, soporta la programacin estructurada y el diseo modular, a lo anterior, al tratar de tener una programacin mas general se pierde eficiencia en cada funcin particular.
BASIC (Benginners All-purpose Symbolic Instruction Code) creado por los profesores John G. Kemeny y Thomas E. Kurtz de la Universidad Dartmouth en 1965 su principal objetivo era el significado de sus siglas el cual es Cdigo de instruccin simblico de propsito general para principiantes; este lenguaje es til para el desarrollo de aplicaciones tcnicas y de gestin, el nacimiento de esta herramienta aunado a los lanzamientos de microcomputadoras y computadoras personalizadas permite una gran extensin de su implementacin.
PASCAL su nombre es destinado por el filosofo y matemtico francs del siglo XVII Blaise Pascal inventor de la primera mquina del tipo mecnico para sumar; el creador del lenguaje es el matemtico suizo Niklaus Wirth en 1970 fundamentado en el lenguaje AL-GOL, su principal objetivo del matemtico suizo era el de ensear los conceptos y tcnicas de programacin, se ha empleado mayoritariamente en el desarrollo de aplicaciones de propsito general entre las que destacan los diseos de grficos y la programacin de sistemas.
C el lenguaje est basado en el trabajo de Ken Thompson sin embargo su diseador fue Dennis Ritchie en el ao 1972, el principal objetivo de este lenguaje era la introduccin de un sistema operativo llamado UNIX, es por esto que era principalmente orientado a la programacin de sistemas, no obstante se ha empleado en las aplicaciones tcnico-cientficas, de gestin, creacin de bases de datos, procesamiento de textos, etc.
ADA el nombre es atribuido a la considerada primera programadora de la historia Augusta Ada Byron condesa de Lovelace, el lenguaje fue creado por la empresa Honeywell-Bull y encargado por el Departamento de defensa de los Estados Unidos con la fundamental idea de generar un lenguaje de programacin de propsito general el cual reuniera las herramientas ms potentes de los existentes y las cualidades ms efectivas de estos; es publicado en 1983 con las siguientes caractersticas: programacin Captulo III.- Lenguajes de programacin y LabVIEW. Evolucin de los lenguajes de programacin.
48
concurrente, compilacin separada, programacin estructurada, tipos abstractos de datos, libertad de formato de escritura, etc., su mayor inconveniente es su gran extensin.
Cuarta generacin. Son los lenguajes capaces de generar cdigo por si solos, son llamados RAD (Desarrollo Rpido de Aplicaciones), con lo cuales se comienza a desarrollar aplicaciones sin extensas paginas de instrucciones, dentro de estos se desarrollan objetos, estos ltimos los podemos emplear dentro de otros para realizar ms compleja la programacin mediante el uso de utilidades CASE (Computer Aided Software Engineering Ingeniera de Software Asistida por Computadora) son aplicaciones predeterminadas las cuales nos brindad herramientas ms eficientes sin tener que realizarlas nosotros mismos estructuras extensas de cdigo, como por ejemplo una plantilla, un tema, un termmetro o cualquier objeto predeterminado que obtengamos de un paquete o librera; los inicios de estas herramientas informticas yacen en los 70`s con un lenguaje llamado PSL y PSA a pesar de esto la primera herramienta CASE fue Excelerator la cual sali en el ao 1984 al mercado; este tipo de herramientas se desarrollaron en los aos 90`s y en adelante, el tipo de herramientas es til para cada etapa del software y con diferentes tipos.
Quinta generacin. Son aquellos orientados a la inteligencia artificial; poco desarrollados, los cuales generaran otra nueva era como ejemplo tenemos el lenguaje llamado LISP el cual es de los lenguajes de programacin ms antiguos en efecto solo el lenguaje FORTRAN es ms antiguo que este, sin embargo este lenguaje a evolucionado tanto que se aplica para realizar aplicaciones relacionadas al lenguaje artificial; su fundamento de programacin es mediante listas lo cual deriva del nombre LISP List Processing el cdigo de este programa est basado en listas con lo cual podemos manejar el cdigo como una estructura de datos, esta generacin se basa en procesar informacin para poder dar una respuesta en base a las entradas, con lo cual se trata de imitar el comportamiento del hombre, sus principales campos de insercin son:Lingstica computacional, Minera de datos, Industriales, Mdicas, Mundos virtuales, Procesamiento de lenguaje natural, Robtica, Meca trnica, Sistemas de apoyo a la decisin, Videojuegos, Prototipos informticos, Anlisis de sistemas dinmicos.
Captulo III.- Lenguajes de programacin y LabVIEW. Metodologa de la programacin.
49
Metodologa de la programacin. Para realizar un programa se deben de poder diferenciar 3 partes esenciales las cuales son: Proceso de entrada Proceso de datos Proceso de salida Al realizar un programa debemos tener en cuenta el tipo de algoritmo y como lo vamos a desarrollar, lo cual nos ayuda a no confundir a nuestro ordenador, tener el camino ms simple para la solucin de nuestro problema, las herramientas que se emplean para este tipo de soluciones simples y efectivas son las diagramas de flujo los cuales nos guan en la elaboracin y ejecucin de programa mediante grficos estandarizados los cuales se muestran a continuacin:
Ovalo indica el inicio de un proceso.
Rectngulo representa una o ms actividades.
Rombo representa una decisin la cual puede tener 2 caminos y en su mayora u totalidad de las ocasiones cada camino es representado por un s o no.
Circulo representa una unin con otro tipo de actividades. Tipos de diagramas de flujo. Los tipos de diagramas de flujo varean en la manera en la que se lee el diagrama, Formato vertical: los datos se leen de arriba hacia abajo, Formato horizontal: los datos se leen de izquierda a derecha, Formato panormico los datos se encuentran plasmados sobre todo un entorno el cual al momento de mirarlo nos brida una idea clara del contexto sin la necesidad de leer todo el texto dentro de el mismo, Formato arquitectnico: nos muestra la sucesin de pasos o lugares en los cuales debemos de encontrarnos de forma cronologa dentro de un rea determinada. Captulo III.- Lenguajes de programacin y LabVIEW. Niveles de lenguajes de programacin.
50
3.2.1 Niveles de lenguajes de programacin.
Existen 3 tipos de lenguajes de programacin: bajo nivel, nivel medio y alto nivel Nuestro ordenador solo entiende por medio de 0 y 1 a lo que se le llama cdigo binario o cdigo maquina lo cual nos indica que entiende por medio de codificaciones basadas en 0 y 1, Los lenguajes de programacin claramente definidos son los lenguajes de alto nivel y los de bajo nivel; los de bajo nivel son aquellos que se aproximan a la arquitectura del hardware y los lenguajes que se encuentran ms cercanos al usuario se denominan de alto nivel.
Lenguajes de bajo nivel.
Fig. 3.5 Lenguaje maquina.
Este tipo de lenguajes es propio de la maquina en la que se emplea lo cual supone que no se puede utilizar en otro tipo de hardware; Al estar dedicados al hardware se aprovecha al mximo sus funciones. Lenguaje maquina: ordena al dispositivo las operaciones esenciales de su funcionamiento y consiste en la combinacin de 0 y 1 los cuales estn codificados para que el hardware entienda, por lo consiguiente es te tipo de lenguajes es ms rpido que los de alto nivel sin embargo son bastantes tediosos de manejar y emplear adems de que su estructura es bastante extensa por ende su anlisis para encontrar fallos es muy compleja.
Captulo III.- Lenguajes de programacin y LabVIEW. Niveles de lenguajes de programacin.
51
Lenguajes de alto nivel.
Fig. 3.6 Lenguajes de alto nivel.
Son los lenguajes que se asimilan mas al lenguaje natural que al lenguaje maquina usan los EDDs (Estructuras Dinmicas de Datos; este tipo de estructuras cambian de tamao durante la ejecucin del programa.), son lenguajes independientes de la estructura de ordenador, lo cual nos ayuda a emplear el programa en otras aplicaciones u ordenadores sin inconvenientes de procesado a esto se le agrega que no depende del tipo de ordenador o sus principios de funcionamiento, hardware o consecutivo de cdigo, solo es necesario emplear un tipo de traductor o plataforma para que la maquina pueda entender el programa a estos tipos de programacin se le pueden dar objetivos especficos o generales segn sea la necesidad a cubrir, no obstante depender del tipo de propsito para poder seleccionar un programa el cual se adapte mejor a las herramientas necesarias, las cuales, nos ayuden a realizar los objetivos.
Lenguajes de nivel medio.
No son una definicin especifica debido a que interactan con los tipos de programacin a que se refiere; por ejemplo podemos tener C el cual es un lenguaje que interacta con la maquina y a la vez podemos generar aplicaciones las cuales podamos migrar entre ordenadores y nos desarrollen un objetivo especifico como un programa para obtener calificaciones y un programa para generar claves de nuestro ordenador el cual est dedicado a este ordenador en particular y no lo podemos manejar en otros.
Captulo III.- Lenguajes de programacin y LabVIEW. LabVIEW.
52
3.3 LabVIEW
Qu es LabVIEW? LabVIEW es un lenguaje de programacin grafico potente en la adquisicin, control y supervisin de datos digitales y analgicos, verstil en su gama de hardware con la que puede trabajar sin dejar atrs su inmensa biblioteca en software para el anlisis avanzado de datos, facilitacin de la lgica de control en la programacin, as como de la visualizacin virtual del proceso a monitorear.
Fig. 3.7 Lenguaje grafico.
LabVIEW ha tomado auge desde que sali al mercado en 1986, se ha transformado en lder de la industria moderna por su alto desempeo en el anlisis y procesamiento de datos, control de instrumentos, automatizar sistemas de prueba y validacin, medidas industrial y control, disear sistemas embebidos, enseanza e investigacin acadmica, etc., cabe resaltar que LabVIEW conecta prcticamente cualquier dispositivo de censado y herramienta de diseo para obtener procesos confiables y precisos.
Captulo III.- Lenguajes de programacin y LabVIEW. LabVIEW.
53
Amplitud de NI-hardware.
Con extensa gama de hardware para la adquisicin de datos ya sea portable, de escritorio, industrial, y tecnologa embebida, su gran variedad de drivers de comunicacin, National Instruments nos ofrece otras tecnologas de medicin, control, comparacin, ajuste de sensores y comunicacin con PLC en sus perifricos y tarjetas de adquisicin, todo esto para facilitar la implementacin de una potente herramienta en el mbito actual no solo industrial sino cientfico y acadmico.
Fig. 3.8 Innovacin del hardware de LabVIEW. Alcance de NI-LabVIEW.
LabVIEW nos permite desde el control de un simple y casero sensor, hasta un sofisticado sistema inteligente con tantas variables como nos podamos imaginar y lo que es mejor lo podemos mejorar da a da con la inmensa gama de herramientas que nos brinda National Instruments.
Fig. 3.9 Hardware de LabVIEW.
Captulo III.- Lenguajes de programacin y LabVIEW. LabVIEW.
54
Familia de productos de NI LabVIEW.
Este tipo de productos entiende todos los tipos de extensin hacia el software LabVIEW en tareas especficas las cuales se describen brevemente a continuacin: Juegos de herramientas (Toolkits) y mdulos adicionales. Vea ms recursos en prcticamente cada producto en la familia de LabVIEW o evaluar software inmediatamente al descargar una prueba de 30 das completamente funcional. Diseo embebido. Utilice LabVIEW para disear, generar prototipos e implementar aplicaciones embebidas en una variedad de objetivos de procesamiento incluyendo sistemas comerciales en tiempo real y basado en FPGA as como microprocesadores y microcontroladores personalizados. Mdulos y juegos de herramientas (Toolkits) para diseo embebido: Mdulo LabVIEW Real-Time NI Real-Time Execution Trace Toolkit Mdulo LabVIEW FPGA Mdulo LabVIEW Microprocessor SDK Mdulo LabVIEW Statechart Mdulo LabVIEW Mobile Mdulo LabVIEW DSP Mdulo LabVIEW Embedded para Microcontroladores ARM Diseo de control y simulacin. Combine el desarrollo de algoritmos, anlisis y visualizacin en LabVIEW con herramientas para identificacin de sistemas, diseo de control, simulacin e implementacin. Mdulos y juegos de herramientas (Toolkits) para diseo de control y simulacin: Mdulo LabVIEW Control Design and Simulation LabVIEW PID Control Toolkit Mdulo LabVIEW Real-Time Real-Time Execution Trace Toolkit Mdulo LabVIEW FPGA Mdulo LabVIEW Statechart LabVIEW Simulation Interface Toolkit LabVIEW System Identification Toolkit
Captulo III.- Lenguajes de programacin y LabVIEW. LabVIEW.
55
Procesamiento de imgenes y seales. Incorpore cientos de funciones de procesamiento de imgenes y seales especficas para aplicaciones en sus aplicaciones de LabVIEW. Mdulos y juegos de herramientas (Toolkits) para procesamiento de imgenes y seales: Mdulo Visin Development para LabVIEW Mdulo LabVIEW MathScript RT LabVIEW Advanced Signal Processing Toolkit LabVIEW Digital Filter Design Toolkit LabVIEW Adaptive Filter Toolkit Paquete de Medida de Sonido y Vibracin Sound and Vibration Toolkit Spectral Measurements Toolkit Modulation Toolkit para LabVIEW Vision Builder for Automated Inspection LabVIEW Math Interface Toolkit Monitoreo y control industrial. Despliegue LabVIEW a controladores de automatizacin programables (PACs) para crear sistemas distribuidos de monitoreo, control y conectarse a sus controladores de lgica programable (PLCs) existentes y sistemas empresariales. Mdulos y juegos de herramientas (Toolkits) para monitoreo y control industrial: Mdulo LabVIEW Real-Time Real-Time Execution Trace Toolkit Mdulo LabVIEW FPGA Mdulo LabVIEW Datalogging and Supervisory Control Mdulo LabVIEW Touch Panel Mdulo LabVIEW Statechart NI Motion Assistant Mdulo LabVIEW NI SoftMotion Desarrollo e implementacin de software. Desarrollo e implementacin profesional, aplicaciones de LabVIEW de la ms alta calidad usando una variedad de herramientas de ingeniera de software. Mdulos y juegos de herramientas (Toolkits) para desarrollo e implementacin de software: LabVIEW Application Builder para Windows LabVIEW VI Analyzer Toolkit Mdulo LabVIEW Statechart LabVIEW Desktop Execution Trace Toolkit Paneles Remotos de LabVIEW NI Requirements Gateway LabVIEW Unit Test Framework Toolkit Captulo III.- Lenguajes de programacin y LabVIEW. LabVIEW.
56
Generacin de reportes y almacenamiento de datos. Mdulos y juegos de herramientas (Toolkits) para generacin de reportes y almacenamiento de datos: LabVIEW SignalExpress Report Generation Toolkit para Microsoft Office LabVIEW Database Connectivity Toolkit LabVIEW DataFinder Toolkit LabVIEW Internet Toolkit
Inicio con LabVIEW.
LabVIEW es un lenguaje de programacin grafico por lo cual llamaremos a cada programa instrumento virtual debido a que su funcionamiento y apariencia simulan herramientas fsicas como lo pueden ser: sensores, osciloscopios, actuadores elctricos, vlvulas de paso, bombas, tuberas, etc. Para realizar un programa en LabVIEW se construye una interfaz de usuario con controles e indicadores en una pantalla llamada PANEL FRONTAL donde se colocan los objetos a simular, posteriormente en una pantalla llamada DIAGRAMA DE BLOQUES, ligada a la primera, se establece el cdigo o lgica de programacin por medio de funciones y estructuras las cuales controlan los elementos del PANEL FRONTAL; para realizar VIs emplearemos las herramientas de las PALETAS, existen tres herramientas las cuales son CONTROLS, FUNCTIONS y TOOLS.- cabe resaltar que cada Instrumento Virtual lo podemos utilizar dentro de otro y a estos los llamaremos SubVIs.
Ambiente de programacin.
En la actualidad se necesitan optimizar los procesos industriales al mximo, para esto no solo se necesitan excelentes y precisos instrumentos o actuadores sino una lgica de programacin bastante detallada, en cualquier lenguaje de programacin basado en comandos o en texto se tiende bastante tedioso, ya que se necesitan miles de lneas de cdigo para lograr objetivos ambiciosos en la optimizacin de un proceso, con el software LabVIEW este desarrollo se torna fcil ya que por medio de grficos obtendremos complejos desarrollos o anlisis con solo cablear un icono, lo cual nos brinda ms tiempo para poder pensar en cmo mejorar la lgica de programacin sin tener que pasar horas escribiendo el cdigo.
Captulo III.- Lenguajes de programacin y LabVIEW. LabVIEW.
57
Tipos de datos LabVIEW trabaja de una manera simple ya que t seleccionas el tipo de control, funcin, indicador, estructura o cualquier funcin que desees realizar y cableas los elementos entre s, LabVIEW trabaja por tipos de datos como lo son: Boolean, string, numeric, etc.; por mencionar los principales. Dependiendo del color, grosor y estilo del cable es el dato que transmite, sin embargo tambin podemos convertir el tipo de dato a otros.
Fig. 3.10 Tipos de datos en LabVIEW. Como todo cdigo de programacin tiene estructuras, ciclos, sentencias, funciones las cuales pueden interactuar entre s en este lenguaje de programacin la nica limitacin es tu mente y el proceso, y dependiendo al tipo de datos que se estn procesando sern las variables con las que se cuentan para realizar anlisis.
Fig. 3.11 Iconos grficos de programacin.
Captulo III.- Lenguajes de programacin y LabVIEW. LabVIEW.
58
Fig. 3.12 Ventana de bienvenida de LabVIEW 8.5
La imagen anterior indica nombre del usuario, numero de serie, tipo de licencia con el que se trabaja y por ltimo la versin del programa, dependiendo de la versin con la que se cuente sern el nmero y el tipo de libreras que se tienen para realizar aplicaciones ms avanzadas de manera ms rpida y eficiente, no obstante estas se pueden desarrollar construyndolas nosotros mismos, LabVIEW cuenta con diferentes mdulos de programacin los cuales se adquieren por separado del programa, estos mdulos nos brindan mas herramientas para poder realizar programas ms complejos y eficientes de manera ms sencilla y rpida ejemplo: LabVIEW contiene un modulo para realizar lazos de control Proporcional Integral Derivativo este tipo de control lo encapsula en un solo icono, en cual nosotros solo conectamos la informacin que debe de analizar y el programa realiza todo el procedimiento perfectamente, como esta herramienta podemos encontrar una diversidad bastante extensa tanto para la programacin en el Diagrama de Bloques como para realizar grficos de control en el Panel Frontal, comunicarnos mediante internet, analizar variables de estado, realizar alarmas, crear historiales mediante las herramientas de Microsoft, etc. Captulo III.- Lenguajes de programacin y LabVIEW. LabVIEW.
59
Fig. 3.13 Ventana principal de LabVIEW 8.5
La imagen anterior es la ventana de bienvenida de LabVIEW 8.5 la cual nos muestra diferentes opciones las cuales se describen a continuacin:
Fig. 3.14 Barra de men.
A: File; nos puede abrir o crear un Instrumento Virtual. B: Operate; es una conexin rpida a una fuente como un Field Point. C: Tools; en esta opcin podemos desplegar herramientas para la configuracin y hallazgos de diferentes componentes y herramientas del programa. D: Help; es la ayuda de LabVIEW la cual nos despliega la ayuda contextual de cada elemento y componente del software as como visualizar algunos ejemplos donde nos indican de manera practica la implementacin de la herramienta a buscar.
A B C D Captulo III.- Lenguajes de programacin y LabVIEW. LabVIEW.
60
B: En este recuadro podemos abrir un Instrumento Virtual en blanco, comenzar un proyecto o dar seguimiento a un Instrumento Virtual o proyecto ya comenzado.
Fig. 3.15 Sub-men New.
C: Nos muestra los ltimos Instrumentos Virtuales con los que hemos trabajamos, se encuentran en el orden en el que se les ha estado utilizando y nos brinda una herramienta para buscar Instrumentos Virtuales.
Fig. 3.16 Sub-men Open.
D: Nos brinda una gua para poder familiarizarnos con el programa y nos explica las funciones de cada componente del Software.
Fig. 3.17 Sub-men New to LabVIEW
E: Nos indica los avances y las mejoras de LabVIEW.
Fig. 3.18 Sub-menu Upgrading LabVIEW
Captulo III.- Lenguajes de programacin y LabVIEW. LabVIEW.
61
F: Brinda una conexin rpida con National Instruments en la web, en la cual encontraremos preguntas frecuentes y foros de discusin los cuales nos ayudan en la construccin de nuestros proyectos.
Fig. 3.19 Sub-men Web Resources
G: Aqu podemos encontrar ejemplos en los cuales nos explican de manera general como implementar las herramientas de `programacin del software. Fig. 3.20 Sub-men Examples.
Cmo crear un Instrumento Virtual? Desde este punto abreviaremos los Instrumentos Virtuales como VIs o VI por sus siglas en ingles VIRTUAL INSTRUMENTS contamos con numerosas maneras de iniciar un VI a continuacin se explicaran las principales funciones, ventanas, indicadores, controles y estructura para poder realizar simulaciones. En el momento que elegimos iniciar un Instrumento Virtual aparecen 2 ventanas para trabajar una de ellas es el PANEL FRONTAL y la otra es el DIAGRAMA DE BLOQUES estas 2 ventanas son una sola ya que nosotros estaremos observando la ventana del Panel Frontal mientras simulamos nuestro Instrumento Virtual; entonces por que poner 2 ventanas si solo observaremos una, el Diagrama de Bloques es donde se realizara la lgica de programacin y donde podremos identificar posibles problemas con nuestro programa, a continuacin se explicaran cada una de ellas y sus principales componentes.-
El Panel frontal se construye con controles e indicadores, los cuales son terminales interactivos de entrada y salida de un Instrumento Virtual, respectivamente. Los controles son perillas, botones de estado y otros; los indicadores son grficos, LEDs y otros. Los controles simulan los dispositivos de entrada de instrumentos y suministran datos al diagrama de bloques del Instrumento Virtual; los indicadores simulan los dispositivos de salida de instrumentos y despliegan datos que el diagrama de bloques adquiere o genera. Una vez que ha sido construido el panel frontal, se adiciona el cdigo, empleando representaciones grficas de funciones para controlar los objetos del panel frontal. Captulo III.- Lenguajes de programacin y LabVIEW. LabVIEW.
62
Fig. 3.21 Panel Frontal
A continuacin se explican los componentes principales del Panel Frontal:
Run: Sirve para ejecutar un Instrumento Virtual y solo se puede utilizar sui aparece como una flecha solido de color blando. Cuando se encuentra ejecutando un VI la flecha se tornara de color negro. En caso de que el Instrumento Virtual tenga errores de sintaxis, la flecha tendr un aspecto roto; si damos clic sobre la flecha aparecer un ERROR LIST donde nos muestra los erros que tenemos. Run Continuously: Se utiliza para correr el VI hasta que se haga una pausa o se detenga el VI. Abort Execution: Detiene el Instrumento Virtual en curso y se utiliza como ltimo recurso; es recomendable disear otra forma de detener el VI por medio del programa. Pause: Se utiliza para pausar el programa, al dar clic en el este se torna color rojo, nos visualiza el lugar donde se pauso en el Diagrama de Bloques. Text Settings: Se emplea para personalizar el texto seleccionado. Align Objets: Alinea los objetos dependiendo el eje o borde del cual se seleccione. Distribute Objets: Organiza los elementos seleccionados con la misma distancia entre ellos. Resize Objets: Si se tienen seleccionados diferentes objetos los dimensiona por igual. Reorder: Si estamos trabajando con elementos que sobre ponen entre este botn nos ayuda para definir cuales estarn enfrente y cuales atrs. Captulo III.- Lenguajes de programacin y LabVIEW. LabVIEW.
63
Show Context Help Window: Despliega la ayuda de LabVIEW.
Barra de menu:
File: Abre, cierra, guarda, imprime archivos; por mencionar algunas de las funciones bsicas de este botn. Edit: Nos permite buscar y modificar archivos junto con sus componentes View: nos visualiza los controles e indicadores herramientas para la personalizacin del VI entre otros. Project: Inicia, abre o guarda un proyecto. Operate: Opciones para controlar la operacin del VI. Tools: Opciones de configurado tanto para un proyecto, VI y LabVIEW Window: Visualiza error List, portapapeles, personaliza la apariencia de las ventanas en uso y de las paletas. Help: Contiene la informacin completa del programa, de sus componentes, soporte tcnico de National Instruments as como la explicacin y las caractersticas del Programa.
Una vez que se comienza a desarrollar un proyecto o un Instrumento Virtual ejemplificaremos los Instrumentos con CONTROLES e INDICADORES los cuales se encuentran en la Paleta de CONTROLS. Cada herramienta que contiene la paleta Controls puede ser usada como control o como indicador depender de las necesidades del programa, as mismo, una vez que seleccionaste un elemento del Panel Frontal y este por diseo sea un control y se necesite un indicador bastara con hacer clic izquierdo y cambiarlo a indicador. Los elementos de la Paleta Controls se pueden personalizar dependiendo de las necesidades y preferencias del diseador. Fig. 3.22 Paleta Controls.
Captulo III.- Lenguajes de programacin y LabVIEW. LabVIEW.
64
El Diagrama de bloques contiene cdigo fuente grfico. Los objetos del panel frontal aparecen como iconos en el diagrama de bloques. Los objetos del diagrama de bloques incluyen terminales, SubVIs, funciones, constantes, estructuras y cables, los cuales transfieren datos entre los componentes que contiene el diagrama de bloques.
Fig. 3.23 Diagrama de Bloques.
A continuacin se explicaran los botones con los que se cuenta el Panel Frontal, los botones que tienen la misma apariencia que la ventana del Panel Frontal tienen el mismo funcionamiento.
Highlight Execution: Despliega una ejecucin animada, la cual visualiza, el flujo de los datos en el programa; esto es sumamente eficaz para identificar problemas en la programacin. Retain Wire Values: Guarda los valores que le son indicados cuando instalamos un PROBE. Start Single Stepping: Ejecuta paso a paso el Instrumento Virtual; a cada clic que se da y da una pausa en el siguiente paso. Start Single Stepping: Ejecuta la accin siguiente y da una pausa. Step out: Termina la ejecucin en curso y pausa la misma.
Captulo III.- Lenguajes de programacin y LabVIEW. LabVIEW.
65
La paleta FUNCTIONS contiene todas las funciones, estructuras, formulas, simuladores, etc..., los cuales nos facilitan la programacin de nuestros Instrumentos Virtuales. Cabe resaltar que dependiendo la funcin que se elija ser el tipo de datos que fluirn por la estructura del programa en esta parte es importante resaltar que no podemos combinar datos los datos son ejemplificados mediante colores a su vez pueden llevar un conjunto de caracteres, LabVIEW nos permite controlar, modificar, buscar, extraer y cambiar el tipo de datos mediante las herramientas con las que cuenta este tipo de Funciones son llamad as CLUSTERS y son de gran ayuda para la facilitacin de la programacin modular. Fig. 3.24 Paleta de Functions.
La paleta Tools se utiliza en cualquiera de las 2 ventanas de LabVIEW las cuales son: Panel Frontal y Diagrama de Bloques; podemos cambiar nuestro cursor para simuladores mecnicos, para agregar notas, para cablear o conectar, visualizar las paletas de funciones y controles, para seleccionar una porcin de la pantalla, para colocar break points, probe data y personalizar colores de las pantallas.
Fig. 3.25 Tools.
Captulo III.- Lenguajes de programacin y LabVIEW. Aplicacin de simulacin en LabVIEW.
66
3.3.1 Aplicacin de programacin en LabVIEW.
Para poder comprender las ventanas principales de LabVIEW, las paletas de controles y funciones y la manera en que trabajan entre s; realizaremos un pequeo programa para aterrizar los conocimientos adquiridos, mediante el programa tome rango de dificultad se irn aclarando y aprendiendo ms herramientas de LabVIEW y de su potencia como herramienta de trabajo. Iniciaremos por explicar la importancia de utilizar indicadores y controles, comenzaremos con los Controles, como su nombre los indica los podemos usar para manipular estados como: prendido y apagado ya sea un ciclo, un led, o una variable digital que solo tenga esos estados ON, OFF a continuacin se ejemplificara esto de una manera muy sencilla sin embargo muy til:
Como este ser nuestro primer Instrumento Virtual se mostrara paso a paso como iniciarlo; de aqu en adelante solo se har referencia a estos pasos y se continuara con lo siguiente de los VI`s. Ejemplo 1: Se ejemplificara una botonera en el Panel Frontal; el cdigo se realizara con funciones Booleanas como son OR, AND, NOT, etc.. La funcin ser la siguiente; cualquier botn enciende o apaga el led segn el estado en el que se encuentre. 1.-Paso uno abrir el programa LabVIEW de NATIONAL INSTRUMENTS.
Fig. 3.26 Men inicio de Windows.
Nos dirigimos a nuestro men de inicio y seleccionamos el icono de National Instruments LabVIEW 8.5
Icono de LabVIEW 8.5 Captulo III.- Lenguajes de programacin y LabVIEW. Aplicacin de simulacin en LabVIEW.
67
1.1.-Se abrir la siguiente ventana en la cual solo esperaremos que nuestro programa cargue los elementos correspondientes.
Fig. 3.27 Ventana de bienvenida de LabVIEW 8.5.
2.- Una vez que aparezca esta ventana. Seleccionaremos Blank VI para comenzar a trabajar.
Fig. 3.28 Ventana principal de LabVIEW 8.5.
Seleccionaremos Blank VI. Captulo III.- Lenguajes de programacin y LabVIEW. Aplicacin de simulacin en LabVIEW.
68
2.1 A continuacin aparecern las ventanas de Panel Frontal y Diagrama de Bloques.
Fig. 3.29 Ventanas de Panel Frontal y Diagrama de Bloques.
3.- Abriremos la Paleta de Controls dando clic izquierdo sobre el Panel Frontal.
Fig. 3.30 Paleta Controls sobre el Panel Frontal.
Diagrama de Bloques Panel Frontal Paleta Controls. Captulo III.- Lenguajes de programacin y LabVIEW. Aplicacin de simulacin en LabVIEW.
69
Para desplegar las opciones de controles e indicadores posicionaremos el cursor sobre la categora en la que estemos interesados, esta accin desplegara ms opciones como se muestra a continuacin.
Fig.3.31 Despliegue de la paleta Controls. Como se observa en la pantalla solo necesitamos posicionar el cursor sobre la categora de inters y este desplegara un submen; Para seleccionar algn control o indicador se hace clic sobre l y este aparece sobre el Panel Frontal, cada elemento que se desee emplear en la construccin de Instrumentos Virtuales tendr que ser seleccionado de esta manera en el Panel Frontal. Una vez que tenemos el Led y los 2 botones Text Buttons nuestro Panel Frontal tendr la siguiente apariencia.
Fig. 3.32 Panel Frontal de la aplicacin. Para visualizar los Sub- mens, posicionamos el cursor sobre el men de inters. Para agregar elementos se tienen que seleccionar de la paleta controls o si son de la misma clase se copian y se pegan. Captulo III.- Lenguajes de programacin y LabVIEW. Aplicacin de simulacin en LabVIEW.
70
Ahora que tenemos nuestro Panel Frontal listo comenzaremos a desarrollar el diagrama grafico en el Block Diagram.
Como el Panel Frontal y el Diagrama de bloques en realidad son solo uno, automticamente aparecen los grficos del panel frontal como iconos los cuales nos indican que funcin estarn desempeando. Se puede apreciar que los iconos tienen un color en particular, este color nos indica que son del tipo BOOLEAN, este tipo de datos se representan en cables de color verde.- El tipo de color nos delimita y nos gua para saber con qu elementos se puede llevar a cabo la conexin y la lgica de programacin. Tambin existen algunos elementos que no aparecen en el Panel Frontal; posicionndolos en el Diagrama de Bloques, algunos, muy contados, que colocndolos en el Panel Frontal no aparecen con alguna funcin en el Diagrama de Bloques.
Fig.3.33 Diagrama de Bloques de la aplicacin.
Captulo III.- Lenguajes de programacin y LabVIEW. Aplicacin de simulacin en LabVIEW.
71
Existen numerosas funciones del tipo Boolean, sin embargo usaremos las de la paleta Boolean para realizar nuestro ejemplo, a continuacin se visualiza la ubicacin de la paleta.
Fig. 3.34 Ubicacin de la paleta Bolean.
Para el despliegue de nuestros iconos de programacin existen varios caminos sin embargo en este caso nos colocamos en el Diagrama de Bloques y damos clic izquierdo en nuestro ratn esta accin despliega la paleta Functions, para visualizar cualquiera de los sub-mens que despliega solo necesitamos colocar nuestro cursor sobre l, en este caso nos direccionamos al sub-men Programing el cual despliega la paleta con ese nombre, como se puede apreciar se cuanta con numerosas opciones nosotros nos direccionamos al icono con el nombre Boolean este despliega las funciones con las que cuenta, cabe destacar que las funciones que se encuentran en este sub-men son compatibles con el tipo de datos que manejaremos; Para ejemplificar nuestro primer ejemplo el cual es: Se ejemplificara una botonera en el Panel Frontal; el cdigo se realizara con funciones Booleanas como son OR, AND, NOT, etc.. La funcin ser la siguiente; cualquier botn enciende o apaga el led segn el estado en el que se encuentre.
Para conectar iconos en LabVIEW deben de ser del mismo tipo de datos. Captulo III.- Lenguajes de programacin y LabVIEW. Aplicacin de simulacin en LabVIEW.
72
Colocaremos 2 funciones del tipo Booleanas una ser la compuerta OR y la otra la compuerta Exclusive OR como se muestra en la siguiente figura.
Fig.3.35 Inserto de funciones en Diagrama de Bloques.
Se tiene la funcin OR la cual es una compuerta lgica, el funcionamiento de esta funcin es igual al de una compuerta lgica OR, de la misma manera la funcin Exclusive OR asimila una compuerta lgica XOR.
Exclusive XOR Compuerta OR
Fig. 3.36 Smbolo de compuerta XOR
Fig. 3.38 Arreglo equivalente a compuerta XOR
A B S 0 0 0 0 1 1 1 0 1 1 1 0 A B S 0 0 0 0 1 1 1 0 1 1 1 1 Fig. 3.37 Smbolo de compuerta OR Captulo III.- Lenguajes de programacin y LabVIEW. Aplicacin de simulacin en LabVIEW.
73
Ahora agregaremos un ciclo While Loop a nuestro programa el cual nos permitir checar continuamente los cambiamos que se realicen dentro del mismo, esto nos facilita la simulacin de nuestra botonera.
Fig. 3.39 Manejo de estructuras.
Una estructura son simulaciones graficas de los ciclos y sentencias de los lenguajes de programacin basados en texto; el ciclo While Loop ejecuta un sub-diagrama hasta que se cumpla la condicin que lo detiene, en este caso viene con un mando binario el cual detiene la ejecucin cuando este es activado, esta preestablecido por la sentencia STOP IF TRUE esto se puede cambiar a CONTINUE IF TRUE sin embargo este tipo de condicin depender de la lgica de programacin que se desee emplear.
LabVIEW tiene agrupadas las funciones con las que se cuenta. Captulo III.- Lenguajes de programacin y LabVIEW. Aplicacin de simulacin en LabVIEW.
74
Colocaremos la estructura encerrando los elementos con los que se cuenta actualmente para condicionar dentro del ciclo While Loop.
Fig. 3.40 Estructura While Loop.
El ciclo es el recuadro de color gris que se encuentra rodeando los elementos, al colocar el ciclo nos agrega 2 elementos automticamente que son el recuadro con una letra i de color azul y el botn lazado a un recuadro verde en el cual hay un crculo rojo, este tipo de sealizacin es un stop y el de color azul es una iteracin; una iteracin es el conteo de ciclos que ha transcurrido desde que arranco la primer ejecucin, se recomienda que entre cada iteracin o ejecucin del ciclo se coloque un retardo para optimizar la recoleccin de datos.
Para colocar una estructura debemos de encerrar dentro los elementos que deseamos. Captulo III.- Lenguajes de programacin y LabVIEW. Aplicacin de simulacin en LabVIEW.
75
A continuacin agregaremos un ADD SHIFT REGISTER al ciclo While Loop.
Fig. 3.41 ADD SHIFT REGISTER en Diagrama de Bloques.
Una vez que tenemos agregado el ciclo while nos colocaremos sobre el marco gris y daremos clic izquierdo, se despliega un sub-men y seleccionaremos ADD SHIFT REGISTER; esta funcin guarda el ltimo valor que se ejecuto dentro del ciclo while. Recordando que el ciclo While Loop realiza iteraciones cada iteracin guarda datos, los cuales nos brindan un estado de nuestras variables a monitorear.
ADD Shift Register nos guarda el ltimo estado de la estructura While Loop. Captulo III.- Lenguajes de programacin y LabVIEW. Aplicacin de simulacin en LabVIEW.
76
A continuacin comenzaremos a cablera todos los elementos como se muestra en la siguiente figura.
Fig. 3.42 Cableado de componentes.
Una vez que estn cableados todos los componentes como se muestra en la figura anterior procederemos a colocar un retardo para la optimizacin de la simulacin. Una vez construido el Instrumento Virtual lo probaremos dando clic sobre el botn Run, nuestra simulacin deber de funcionar a la perfeccin por lo cual no debemos de tener variacin en lo acordado en el rengln del ejemplo 1.
Para conectar nuestros iconos solo colocamos el cursor cerca de sus terminales. Captulo III.- Lenguajes de programacin y LabVIEW. Aplicacin de comunicacin serial ECHO.
77
3.3.2 Aplicacin de comunicacin serial ECHO.
LabVIEW cuenta con diferentes maneras de comunicar el software con hardware, nosotros utilizaremos sus elementos del modulo VISA los cuales pueden comunicar de la siguiente manera GPIB, serial, USB, Ethernet, PXI, or VXI instruments, los VISA son una excelente herramienta para la comunicacin, solo se debe de definir cul es la mejor manera de comunicar el hardware, a comparacin de otros software para realizar la comunicacin solo necesitamos emplear 2 iconos del modulo VISA los cuales son Write y Read. Colocar las funciones del VISA en el diagrama de Bloques. Para interpretar adecuadamente la comunicacin serial procederemos a trabajar desde el Diagrama de Bloques, colocando los elementos de Write y Read de la paleta Functions, Instruments I/O, Serial:
Fig. 3.43 Paleta serial del Visa.
Write: nos permite escribir o introducir datos dentro de nuestra comunicacin. Read: brinda la visualizacin de los datos que est leyendo el puerto de comunicacin, esta herramienta lee en formato string, lo cual nos indica que dependiendo el tipo de comunicacin que se est empleando ser el tipo de conversin de datos que se necesitara en caso de querer visualizar o extraer los datos.
Debido a debemos de empatar la comunicacin entre 2 elementos para poder estar enviando y recibiendo datos adecuadamente se debemos de configurar el puerto de comunicacin con la herramienta Configure Port:
Fig. 3.44 Paleta serial del Visa.
Una vez terminada la configuracin debemos de tener en cuenta que toda sesin que se abre de debe de cerrar para los casos que nos convengan con lo cual el modulo Visa tambin debe de cerrarse mediante programa para evitar daar nuestro hardware. Write Read Configure Port Captulo III.- Lenguajes de programacin y LabVIEW. Aplicacin de comunicacin serial ECHO.
78
Colocaremos del Visa Serial el icono llamado Close.
Fig. 3.45 Paleta serial del Visa.
El icono Close de la Paleta Serial, nos cierra o finaliza una comunicacin; lo cual programticamente es de gran ayuda en caso de necesitar efectos a la causa de perder conexin, o del cierre de comunicacin, este tipo de condicionamientos ser de gran ayuda si necesitamos realizar tareas de reinicio de comunicacin o en su debido caso el costo de nuestro envi de datos mediante algn dispositivo de comunicacin como un modulo GPRS el cual nos consume un saldo mientras estamos conectados a la red, as mismo en el caso de perder la comunicacin o de finalizarla debemos de monitorear el estado de dicho icono, o si en algn momento se produjo un error podemos saber qu tipo de error es y si se encuentra en la base de datos de la ayuda contextual se puede resolver en base a las recomendaciones de la misma.
Los iconos del visa tienen distintas entradas las cuales varean dependiendo del dato que transmite es por esto que se cuenta con varios colores de cableado sin embargo solo se explicaran 2 los cuales son: Visa resource name el cableado de esta entrada o salida del icono es morado y transmite datos entre los iconos de su misa paleta Visa; cabe resaltar que los otros iconos tienen el mismo nombre en la entrada o salida del icono.
Close Captulo III.- Lenguajes de programacin y LabVIEW. Aplicacin de comunicacin serial ECHO.
79
, Fig. 3.46 Terminales de conexin del Visa Configure.
Los diferentes colores con los que cuentan este tipo de herramientas son de gran ayuda en la transmisin y recepcin de datos as como configurar la velocidad de transmisin, la paridad con la que se transmite, el estado que se tiene la transmisin ya que la podemos tener encendida o apagada el error out es una herramienta la cual se utiliza con Clusters de Error estos nos arrojan la clave del error si es que tiene que ver con la conexin de datos o algn factor relacionado al programa esta herramienta no nos indica cuando tenemos algn fallo en nuestro Hardware o tipo de datos, los errores ms comunes que arroja es cuando tenemos mal el puerto de comunicacin o un error en la conexin de nuestros iconos.
Los clusters son funciones que enlazan diferentes tipos de datos se asimila a un cable UTP el cual se utiliza para conectar cables telefnicos o Ethernet para redes de comunicacin.
Fig. 3.47 Clusters de Error.
El color del cable depende del tipo de datos No es necesario conectar todas las terminales del icono Los cluster nos ayudan a encontrar un error dentro de nuestro VI Captulo III.- Lenguajes de programacin y LabVIEW. Aplicacin de comunicacin serial ECHO.
80
Procederemos a colocar los elementos del Visa en nuestro Diagrama de Bloques.
Fig. 3.48 Conexin entre elementos Visa. Agregar un ciclo While Loop a nuestra lgica de programacin. Una vez que hemos interconectado los elementos colocaremos un ciclo While para poder monitorear el flujo de datos en la comunicacin, este ciclo nos ayuda a la recoleccin de datos continuamente ya que tiene un elemento que detiene su enclavamiento y si no es activado o cambiado el estado de esta condicin no se saldr del ciclo.
Fig. 3.49 Aplicacin de echo. Los elementos Visa transmiten el mismo tipo de datos por ende se pueden conectar entre s. Un ciclo While realiza repeticiones hasta que se detiene. Iteraciones: es el nmero de repeticiones que realiza el ciclo. Captulo III.- Lenguajes de programacin y LabVIEW. Aplicacin de comunicacin serial ECHO.
81
Agregar un retardo a nuestro ciclo While Loop. Una vez que tenemos conectados los elementos y encerramos los componentes del diagrama de bloques como se muestra en la fig. 3.49, agregaremos un retardo para poder adquirir variaciones entre cada iteracin, aun sin el retardo se pueden visualizar cambios sin embargo no tendramos datos exactos ya que al tener un poco de ruido en la seal no estaramos midiendo de manera adecuada y se dificultara la programacin o la adquisicin de daos para realizar acciones a este tipo de incrementos o decrementos, Los posibles defectos o problemas con los que se contara serian valores fluctuantes constantemente debido a que el muestreo que est realizando es bastante rpido.
Fig. 3.50 Aplicacin echo.
En esta imagen se observan las diferentes opciones con las que contamos para generar un retardo, para realizar hojas de clculo por medio del software Office, para insertar o monitorear alarmas y actividades, colocar fechas y hora en reportes, etc.
Fig. 3.51 Paleta Timing.
El retardo se utiliza para dar un tiempo entre iteraciones. Un retardo nos permite controlar el tiempo entre iteraciones del ciclo While. Captulo III.- Lenguajes de programacin y LabVIEW. Aplicacin de comunicacin serial ECHO.
82
La vista del Diagrama de Bloques debe de ser la siguiente.
Fig. 3.52 Aplicacin echo.
Insertar texto dentro de nuestro canal de comunicacin. Como se observa tenemos conectados los elementos de transmisin y recepcin del Visa, ahora si bien en este caso estamos leyendo lo que est dentro del puerto agregaremos herramientas para poder verificar los datos de la comunicacin mediante un programa de echo el cual desplegara en una ventana lo que est leyendo el puerto Read, as mismo agregaremos un formato de escritura para poder enviar datos por medio de nuestro enlace de comunicacin, para este tipo de formato se necesitaran emplear los elementos del Sub-men String los cuales nos permiten insertar formato, dependiendo de la hoja en la que se necesite escribir, el tipo de datos es diferente al de los Visa resources name por lo tanto tendr otro color el cual es rosa, en ocasiones podemos convertir o extraer datos de un arreglo o un cluster, es decir cuando tenemos un arreglo de caracteres y necesitamos extraer un valor del tipo String, Boolean, Number o cualquier otro carcter con los que cuenta el programa, tendremos que emplear convertidores y buscadores de funcin en la figura de abajo se muestra la paleta del Sub-men String. Captulo III.- Lenguajes de programacin y LabVIEW. Aplicacin de comunicacin serial ECHO.
83
Fig. 3.53 Paleta String.
En la ventana del Panel Frontal agregaremos 2 tipos de String, sin embargo se estar usando uno como indicador y otro como control, una vez colocados en el Panel Frontal tendr que tener la siguiente presentacin.
Fig. 3.54 Aplicacin echo Panel Frontal.
Una vez que se ubicaron los elementos sobre el Panel Frontal automticamente aparecern en el diagrama de bloques debemos de cambiar el estado de cada icono uno a indicador y otro a control.
Captulo III.- Lenguajes de programacin y LabVIEW. Aplicacin de comunicacin serial ECHO.
84
Ahora agregaremos los iconos del Submen String; Format Into string y End of Line Constant en el diagrama de bloques, tambin debemos de poder visualizar los iconos String, como se muestra a continuacin:
Fig. 3.55 Aplicacin echo.
String: es un recuadro en el cual, dependiendo si es un control o un indicador, podemos escribir o solo leer lo que hay dentro de este, este tipo de herramienta se emplea para visualizar leyendas, ayudas, opciones o instrucciones, en caso de que sea solo de lectura, si el modo es un control podremos escribir dentro de este, la mayora de los iconos los podemos visualizar de dos maneras las cuales son View as Icon o Not View as Icon con lo cual solo cambia su apariencia. End of Line: esta herramienta la utilizamos para terminar una lnea o dar un enter al final de un rengln, lo cual es sumamente importante en el momento de realizar reportes o alarmas. Format Into String: nos permite insertar, dependiendo del formato que se le d, texto dentro de un documento cualquiera, nosotros elegimos cuantos renglones y como se va a estructurar el contenido que se desee insertar y el formato general que debe de tener en caso de establecer un estndar. Run: una manera de saber si nuestro Instrumento Virtual est conectado adecuadamente es la Flecha o el icono Run el cual debe de aparecer como una flecha solida de color blanco, en caso de tener problemas de conexiones aparecer en una superficie obscura y rota como se muestra en la figura de arriba.
Format Into String. End Of Line Constant String La Flecha Run debe de estar solida y continua Captulo III.- Lenguajes de programacin y LabVIEW. Aplicacin de comunicacin serial ECHO.
85
Una vez que tenemos los elementos como se muestra en la figura anterior procedemos a cablear los elementos como se muestra en la siguiente figura:
Fig. 3.56 Aplicacin echo.
Una vez que se cablearon los elementos entre s procederemos a probar nuestro Instrumento Virtual el cual tendr que funcionar de la siguiente manera: seleccionaremos el puerto por el cual comenzaremos la comunicacin, con el Visa Resources name, una vez que se tiene seleccionado el puerto de comunicacin daremos clic en el botn Run, ya sea del panel frontal o del Diagrama de Bloques, despus procederemos a escribir en nuestro String de escritura y de inmediato debern de aparecer los mismos caracteres en el String de lectura; a continuacin se visualizan algunos errores que se cometieron apropsito para poder detallar mas funciones de LabVIEW; en la siguiente figura aparece el Error List, el cual nos ayuda a identificar errores que se cometieron al programar o conectar nuestros iconos de programacin, el Error List en ocasiones nos detalla el error que se est cometiendo o en su debido caso nos seala el icono que se encuentra mal conectado o que le faltan conexiones.
Visa Resources name Captulo III.- Lenguajes de programacin y LabVIEW. Aplicacin de comunicacin serial ECHO.
86
Fig. 3.57 Error List.
Si nosotros damos doble clic sobre el error que nos arroja nos enviara al icono, en este caso, que lo contiene o podemos dar clic sobre la opcin Show Error, la cual nos posiciona sobre el error, ahora procederemos a colocar los elementos que nos demanda el error como se muestra a continuacin:
Fig. 3.58 Aplicacin echo.
En la figura anterior se agrego un Property Node el cual nos indica el numero de Bytes que contienen nuestra transmisin o recepcin, este dato es necesario para poder configurar los datos necesarios del Read del Visa Serial y poder correr nuestro Instrumento Virtual, as mismo se muestra nuestra flecha de
Flecha de color blanco y solida. Se agrega Property Node. Nos indica en que elemento tenemos el error. Nos posiciona en donde se encuentra el error. Captulo III.- Lenguajes de programacin y LabVIEW. Aplicacin de comunicacin serial ECHO.
87
Run de color Blanco y solida lo cual nos quiere decir que nuestras conexiones y elementos estn conectados de manera correcta. Agregar un Cluster de Error a nuestro instrumento Virtual. Si nosotros damos clic sobre la flecha Run nuestro Instrumento Virtual comenzara a correr, sin embargo podremos observar que no obtendremos resultado alguno en nuestro String de lectura, estos se puede visualizar con un Cluster de error para saber el por qu no hay respuesta de nuestros elementos Visa; se conecta como se muestra a continuacin:
Fig. 3.59 Aplicacin echo.
El Cluster de error nos muestra cual es el error que se tiene entre los elementos y se conecta entre todos los iconos que participan en el ciclo de comunicacin, al inicio se puede colocar un Cluster de Error In o se crea, en este caso, una constante en el Visa Configure lo cual se hace posicionando el cursor en la terminal de conexin de Error daremos clic izquierdo en nuestro ratn, aparecern varias opciones nosotros seleccionaremos crear constante, ahora para el Cluster de salida necesitaremos ir a la paleta de array, Clusters y matrix, una vez situados en esta seleccionaremos un Cluster out el cual colocaremos al final de nuestro flujo de datos con la finalidad que este nos visualice los resultados de la comunicacin, si queremos visualizar el flujo de datos y si es que estamos leyendo algn byte del puerto serial debemos de presionar el botn Highlight Execution, el cual realiza el flujo de datos en forma lenta, esta herramienta es de gran ayuda para averiguar si de verdad tenemos los valores que deseamos y si estn llegando al icono adecuado.
Cluster de Error. Se crea una constante de entrada. Captulo III.- Lenguajes de programacin y LabVIEW. Aplicacin de comunicacin serial ECHO.
88
Una vez comprobado que tenemos la transmisin y que obtuvimos los mismos caracteres, nuestro Panel Frontal debe de visualizarse de la siguiente manera:
Fig. 3.60 Aplicacin echo.
Una vez que comprobamos que nuestro Instrumento Virtual funciona adecuadamente procederemos a realizar modificaciones y arreglos a este, debido a que el microcontrolador no enva caracteres del tipo String, sino cdigo ASCII. Este ser uno de nuestros Instrumentos Virtuales, que se emplearan en la aplicacin, tambin se personalizara; cuando personalizamos un Instrumento Virtual debemos de colocar nombres en todos los elementos que se emplean, debemos de crear una ayuda para cada funcin en la cual describimos de manera concreta y simple para que fue realizado el Instrumento Virtual, se crea el icono del Instrumento Virtual con lo cual debemos de seleccionar una imagen representativa de este, definir como se usaran las terminales del mismo y brindar soporte respectivo del Instrumento Virtual.
Debemos de obtener los mismos caracteres que insertamos. Cluster out; nos muestra un mensaje y una marca con el estado de nuestra comunicacin. Captulo III.- Lenguajes de programacin y LabVIEW. Aplicacin de comunicacin serial ECHO.
89
Acoplamiento de seal de datos. Al tener que convertir el tipo de caracteres ASCII a un valor numrico se emplearan las herramientas de la paleta String/Array/Pathconversion la cual se muestra a continuacin:
Para el despliegue de esta paleta necesitaremos colocar nuestro cursor en Diagrama de Bloques, damos clic izquierdo a nuestro ratn y nos direccionamos al men Programing, una vez desplegado este men colocamos nuestro cursor en donde dice String dentro de este aparecer un icono llamado conversin. Fig. 3.61 Paleta Conversion.
Una vez que tenemos abierta la paleta del Sub-men buscaremos la funcin que dice String to Byte; Por qu String to byte? Y no ASCII to Number; la versin y los mdulos con los que se cuenta no tienen la funcin ASCII to Number, por lo cual debemos de convertir primero el valor String obtenido de nuestro Visa Read a Byte y despus cambiarlo a Number mediante la siguiente paleta:
Para desplegar esta paleta necesitaremos posicionarnos en el men Programing de nuestro men Function en el Diagrama de Bloques, nos dirigimos al men que dice Numeric y enseguida a donde dice conversin, ahora podemos visualizar que tenemos numerosas opciones de conversin, nosotros podemos convertir el dato en cualquiera de las opciones de esta paleta.
Fig. 3.62 Paleta Conversion.
String to Byte Convierte un tipo de datos, en este caso Byte, a un nmero entero. Captulo III.- Lenguajes de programacin y LabVIEW. Aplicacin de comunicacin serial ECHO.
90
Ya que tenemos identificados los elementos que emplearemos, debemos de colocarlos en nuestro diagrama de Bloques del ejemplo ECHO como se muestra en la siguiente figura:
Fig. 3.63 Comunicacin serial.
Dado el hecho que nuestros caracteres ledos en el Visa Read son del tipo String, necesitamos extraer esos datos con el mismo formato, en caso de intentar hacer una conversin directa nuestros cables de conexin se marcaran en una lnea punteada de color negro con una X en medio; lo cual indica que no podemos transmitir datos ya que no son compatibles las dos terminales de conexin, es por esto que debemos de enviar o convertir la informacin primero a Byte y despus de Byte pasarlos a Numeric.
Fig. 3.64 Comunicacin serial.
Se agregan los 2 elementos de conversin al ejemplo de ECHO. Una vez conectados los elementos creamos un indicador del convertidor Double. Captulo III.- Lenguajes de programacin y LabVIEW. Aplicacin de comunicacin serial ECHO.
91
En caso de no haber realizado la conversin los caracteres obtenidos en el String de lectura, en el ejemplo ECHO, se hubieran visualizado en 3 Bits, debido al tipo de norma por la cual transmite datos el microcontrolador la cual es: el primer bit de inicio y el ultimo bit de stop, el tercer bit (el bit que se encuentra en medio de los dos) es el dato que est enviando el microcontrolador; esta es la norma RS-232. Al crear un indicador en el Diagrama de Bloques automticamente se crea un grafico en el Panel Frontal el cual se muestra en la siguiente figura.
Fig. 3.65 Comunicacin serial. Se visualizan dos iconos debido a que es un arreglo de dos dimensiones; el convertidor String to byte array enva los datos en un arreglo de bytes es por esto que al colocar el convertidor To Double precision Float el valor lo debemos de mostrar en un arreglo, aunque solo obtengamos un solo valor tomando el otro valor del arreglo como un 0. Una vez colocados todos los elementos; asignaremos nombres a cada elemento del panel frontal, para poder tener control de estos al momento de personalizar el icono del Instrumento Virtual. Tambin podemos ordenar y estandarizar el tamao de cada control o indicador, su posicin dentro del Panel Frontal, el tipo de orden y de estandarizado de los elementos depende de el arquitecto del proyecto; sin embargo entre ms ordenado se encuentre el Panel Frontal y el Diagrama de Bloques ser ms fcil detectar errores y corregirlos, el Diagrama de Bloques se puede ordenar respecto al flujo de datos que se tengan en el programa o la lgica de programacin que se est implementando.
Representacin grafica del indicador Numeric. Captulo III.- Lenguajes de programacin y LabVIEW. Aplicacin de comunicacin serial ECHO.
92
Para nombrar los elementos de nuestro Panel Frontal tomaremos como referencia su funcin en el programa como se muestra en la siguiente Fig.
Fig. 3.66 Personalizando VI.
Como se puede observar retiramos un String y colocamos el arreglo Numrico con el nombre de Valor decimal, dejamos el String escribir en caso de necesitar comprobar el funcionamiento de la comunicacin, una vez realizando los cambios en el Panel Frontal se actualiza el Diagrama de Bloques como se muestra en la siguiente figura:
Fig. 3.67 Personalizando VI.
Para cambiarle el nombre al Control o Indicador, se posiciona el cursor y se da doble clic sobre el nombre actual. Los elementos que se modifican en el Panel Frontal tambin se modifican en el Diagrama de Bloques. Captulo III.- Lenguajes de programacin y LabVIEW. Aplicacin de comunicacin serial ECHO.
93
Para agregar una descripcin o una ayuda de la implementacin del Instrumentos Virtual nos direccionaremos al men File y seleccionaremos VI Properties; una vez desplegado este seleccionaremos Documentation como se muestra a continuacin:
Fig. 3.68 VI Properties.
Personalizando el Instrumento Virtual. Para personalizar la imagen del icono de nuestro Instrumento Virtual nos dirigimos al icono y damos clic izquierdo sobre l, una vez que se despliega el Sub-men seleccionaremos Edit Icon, inmediatamente nos aparece una pantalla la cual se muestra a continuacin:
Fig. 3.69 Personalizar Icono. Para dar formato a nuestro Icono se cuenta con las herramientas del lado izquierdo o podemos colocar una imagen creada en otro programa, copiando y pegando la imagen desde otra ruta.
Se agrega una descripcin del Instrumento Virtual como: Qu hace? Y Cmo lo hace? Herramien tas para cambiar forma del icono Captulo III.- Lenguajes de programacin y LabVIEW. Aplicacin de comunicacin serial ECHO.
94
Una vez creada la imagen procederemos a cablear nuestros elementos de entrada y salida al icono representativo del Instrumento Virtual, lo cual se realiza estando en el Panel Frontal, posicionaremos el cursor sobre el icono y seleccionando Show Connector, la imagen que se tiene en el icono cambia a u recuadro con 12 espacios de los cuales la mitad son entradas y la otra mitad son salidas, este dato lo podemos cambiar mediante las propiedades del icono, una vez visualizado el recuadro con 12 espacios podremos seleccionar el elemento o los elementos de entrada y salida como se muestra a continuacin:
Fig. 3.70 Personalizando VI. Para poder relacionar entradas y salidas solo necesitamos conectar un espacio en blanco del recuadro con el elemento a controlar, ahora colocaremos nuestro Instrumento Virtual dentro de un nuevo Instrumento Virtual en blanco para visualizar nuestra obra.
Fig. 3.71 Sub-VI.
El icono cambia a este recuadro, en el cual relacionamos entradas y salidas. A un VI dentro de otro se le llama SubVI Podemos visualizar la descripcin que nosotros le dimos al Instrumento Virtual.
95
DESARROLLO DE LA METODOLOGIA PARA LA ADQUISICION DE DATOS DIGITALES Y ANALOGICOS CON EL SOFTWARE LabVIEW POR MEDIO DE COMUNICACIN SERIAL.
CAPITULO IV Captulo IV.- Desarrollo de la metodologa para la adquisicin de datos digitales y analgicos con el software LabVIEW por medio de comunicacin serial RS-232. Planteamiento de la aplicacin.
96
4.1 PLANTEAMIENTO DE LA APLICACIN.
Para ejemplificar la metodologa se desarrollara una aplicacin la cual colectara datos provenientes de un microcontrolador PIC16F877A, estos datos provenientes del microcontrolador sern transmitidos por el canal de comunicacin RS-232 y visualizados mediante un grafico de control desarrollado en la plataforma de programacin LabVIEW.
4.1.1 Descripcin de la aplicacin.
El grafico de control tendr las siguientes caractersticas: la seal que colecte del puerto analgico tendr la versatilidad de poderse visualizar en los siguientes elementos; termmetro, manmetro, velocmetro y cualquier nivel de llenado de un tanque o deposito. Los datos digitales colectados activaran seales Booleanas en el grafico de control, las cuales nos indiquen el estado en el que se encuentra.- Funcionara de manera automtica debido a que mediante la adquisicin de la seal analgica controlara una seal digital del PIC16F877A.-
DISEO: Para el correcto funcionamiento del sistema requiere de los siguientes elementos:
Fig. 4.1 Ciclo de la aplicacin.
Captulo IV.- Desarrollo de la metodologa para la adquisicin de datos digitales y analgicos con el software LabVIEW por medio de comunicacin serial RS-232. Elementos de la aplicacin.
97
4.2 ELEMENTOS DE LA APLICACION.
i. CABLE USB-DB9. Convertidor de seal USB-DB9; debido a nuestro PC es una computadora personal no cuenta con el puerto de comunicacin serial, es por esta razn que se necesitara un cable USB-DB9 el cual convierte la conexin USB a Serial.
ii. MAX-232. Debido a que nuestro dispositivo de comunicacin serial trabaja bajo un estndar de 4.5 volts y las caractersticas tcnicas del PC son de 12voltsn ser necesario implementar un dispositivo el cual nos amplifique la seal a enviar, este dispositivo es el MAX-232, el cual trabaja con transistores y nos amplifica la seal que enviamos por el microcontrolador al PC.
iii. PIC16F877A. Ser empleado como nuestro dispositivo de comunicacin, debido a que cuenta con el puerto de comunicacin serial llamado USART; este puede enviar y recibir datos bajo el estndar RS-232 el cual maneja 3bits: el primero es de inicio, el de en medio es el valor a enviar y el tercero el de salida, la velocidad y numero de bits se selecciona mediante el programa del microcontrolador, estos datos tendr que ser los mismos que declaremos al realizar la lgica de programacin de nuestro grafico de control; el estndar RS-232 enva los datos bajo los caracteres ASCII.
iv. DATO DIGITAL O ANALOGICO. Para poder obtener la seal analgica del microcontrolador ser necesario usar su modulo de conversin en el cual usaremos como referencia el voltaje con el que trabaja el microcontrolador, estos e logra conectando un potencimetro el cual cuenta con tres terminales los dos extremos de este se conectaran a la alimentacin del sistema la cual es de 4,5volts, y la terminal de en medio se conectara a RA0 o al Pin numero 2, una vez obtenido este valor el microcontrolador se encarga de enviarlo por medio del puerto de comunicacin serial. La coleccin de datos digitales se tendr que realizar de la siguiente manera: el puerto digital est compuesto por 8 Pines en estos se tiene que tener unos y ceros, para poder obtener un 0 es necesario conectar la terminal a negativo mediante una resistencia de 1KOhmy para poder obtener un 1 es necesario colocar la seal positiva de alimentacin a la terminal negativa junto con la resistencia, para poder tener control de estos pulsos es necesario tener un elemento que active y desactive esta conexin como un interruptor.
Captulo IV.- Desarrollo de la metodologa para la adquisicin de datos digitales y analgicos con el software LabVIEW por medio de comunicacin serial RS-232. Elementos de la aplicacin.
98
v. Grafico de control.
Fig. 4.2 Grafico de control de LabVIEW.
Funcionamiento del grafico de control.
El indicador con el nombre presin recibir los datos del puerto analgico y los visualizara en el manmetro, el manmetro al llegar al nmero 5 enviara la seal al microcontrolador de activar una salida la cual regresara el valor al grafico de control y activara el indicador con el nombre motor. La variacin de la medicin analgica se realizara mediante un potencimetro; el cual representara un instrumento de medicin que trabaje bajo el orden de voltaje, en este caso la seal estar dentro del rango de 0-5v, esta seal ser convertida por el microcontrolador en un rango binario de 8bits, estos 8bits son los que utiliza el puerto de conversin analgico digital en el PORT A del PIC16F8877A. Los datos digitales a enviar sern representados fsicamente mediante una resistencia de un 1KOhm conectada a tierra, esta conexin representa un 0, a esta misma conexin se la agregara un interruptor con conexin a positivo, al activar el interruptor estaremos enviando un 1 al PIC16F877A. Captulo IV.- Desarrollo de la metodologa para la adquisicin de datos digitales y analgicos con el software LabVIEW por medio de comunicacin serial RS-232. Adquisicin de datos digitales y analgicos.
99
4.3 ADQUISICION DE DATOS DIGITALES Y ANALOGICOS. Caractersticas de entradas digitales y analgicas del PIC16F877A. Para poder enviar datos digitales o analgicos por el puerto de comunicacin serial del PIC16F877A, debemos de cumplir con las caractersticas definidas en el programa y respetar el manejo de los puertos, los puerto pueden trabajar como entradas o salidas, digital o analgico, ya sea configurar un bit del puerto como entrada o como salida o configurar todo un puerto para entradas digitales, entradas analgicas, salidas digitales, salidas analgicas en este caso trabajaremos con el puerto A como la seal analgica, para poder convertir la seal digital a analgica utilizaremos el voltaje de referencia del microcontrolador (el voltaje de funcionamiento de este es de 4.5v), ahora conectaremos los extremos de un potencimetro al negativo y positivo de la alimentacin y el pin intermedio a la entrada RA0 de mi PIC; haciendo este paso estaremos convirtiendo 4.5 volts a una escala en cdigo ASCII, este dato ser del 0-255. Para la coleccin digital necesitamos enviar el estado de todos los bits que conformen el puerto debido a que el micro en las entradas lee 1 y 0, el cero se enva conectando una resistencia de 1KOhm y el uno se logra agregndole la seal positiva o el positivo de la fuente de alimentacin a la resistencia, esta conexin debe de estar unida mediante un interruptor.
4.3.1 Envi y transmisin de datos digitales y analgicos. Caractersticas de la comunicacin serial. La comunicacin serial tiene una norma de trabajo la cual indica que transmite en cdigo ASCII. Enva tres elementos los cuales son bit de inicio, dato a enviar, bit de parada, cuenta con velocidad de baudios entre otras; nuestra comunicacin debe de tener un puerto por el cual se entiendan los formatos de comunicacin este puerto es el puerto serial sin embargo podemos adquirir un cable RS.232 a DB9.
Programa a emplear del PIC16F877A. El programa base para manejar los puertos tanto analgicos como digitales del PIC16F877A es el que se muestra a continuacin.
list p=16F877 include <p16f877.inc>
ADDR_L equ 0x20 DATA_L equ 0x21
org 0x00 nop nop Captulo IV.- Desarrollo de la metodologa para la adquisicin de datos digitales y analgicos con el software LabVIEW por medio de comunicacin serial RS-232. Envi y transmisin de datos digitales y analgicos.
bcf TXSTA,TX9 bsf TXSTA,TXEN bcf STATUS,RP0 Captulo IV.- Desarrollo de la metodologa para la adquisicin de datos digitales y analgicos con el software LabVIEW por medio de comunicacin serial RS-232. Envi y transmisin de datos digitales y analgicos.
101
bcf STATUS,RP1
bcf RCSTA,RX9 bsf RCSTA,CREN
_ESPERARX
btfss PIR1,RCIF ;PREGUNTA SI EL BUFER DE RX ES FULL GOTO _ESPERARX; NO, IR A _ESPERA movf RCREG,W movwf PORTD
Captulo IV.- Desarrollo de la metodologa para la adquisicin de datos digitales y analgicos con el software LabVIEW por medio de comunicacin serial RS-232. Diagrama de conexin del PIC16F877A para datos digitales y analgicos. . 102
4.3.2 Diagrama de conexin del PIC16F877A para datos digitales y analgicos. Los microcontroladores trabajan con pulsos, estos pulsos son envidos mediante un cristal, los cuales nos ayudan a generar el tiempo entre instrucciones, la velocidad de transmisin y recepcin del puerto de comunicacin USART, el tiempo y la forma de convertir las seales digitales a analgicas; por estas razones se deber de conectar el microcontrolador como se muestra en la siguiente figura.
Fig. 4.3 Diagrama de conexiones de PIC16F877A. El valor de las resistencias para las entradas se encuentra estipulado por el fabricante y se pueden ver en el Anexo 1, el valor de las resistencias para los LED`s se calcula a continuacin:
Donde = 5v; = ; = .7v De lo cual sabemos que = 10mA Sustituyendo tenemos )+0.7v De donde obtendremos el valor de R 1 : Lo que nos da un valor de 430 Ohm. Para las resistencias del LED. Captulo IV.- Desarrollo de la metodologa para la adquisicin de datos digitales y analgicos con el software LabVIEW por medio de comunicacin serial RS-232. Diagrama de conexin del PIC16F877A-PC para datos digitales y analgicos. . 103
4.3.3 Diagrama de conexin del acoplamiento de seal PIC16F877A con PC. El funcionamiento del puerto de comunicacin serial de nuestro ordenador tiene un estndar de trabajo de +/-12v, por esta razn debemos de emplear un dispositivo el cual nos ayude a amplificar la seal en este caso implementaremos el MAX-232 el cual funciona a base de transistores los cuales aumentan o disminuyen la seal que reciben.- A continuacin se muestra el diagrama de conexin del MAX232.
Fig. 4.4 Diagrama de conexin del MAX232. La siguiente figura muestra el diagrama de conexin del microcontrolador, el MAX232 y el DB9.
Fig. 4.5 Diagrama de conexin de PIC, MAX232, DB9. RX TX Captulo IV.- Desarrollo de la metodologa para la adquisicin de datos digitales y analgicos con el software LabVIEW por medio de comunicacin serial RS-232. Hardware y software a utilizar para el desarrollo de la aplicacin. . 104
4.4 HARDWARE Y SOFTWARE A UTILIZAR PARA EL DESARROLLO DE LA APLICACIN. Hardware a usar en la aplicacin:
Resistencias de 1KOhm. 9 Capacitores de 2.2 picofaradios. 2 Capacitores de 10 microfaradios de preferencia de tantalio. 4 Cristal de cuarzo de 20MHz. 1 resistencia variable (potencimetro) de 20K 1 microcontrolador PIC16F877A 1 fuente regulada de 4.5v 1 Dip switch de 8 estados 1 MAX232 1 Cable convertidor USB-DB9 1 Led`s 4 Placa de pruebas proto board 1 Computadora personal TOSHIBA Satellite Pro 1
Software a usar en la aplicacin:
Software de prueba de National Instruments LabVIEW 8.5. Driver para cable USB-DB9. MPLAB IDE v 8.5 uso libre. PICkit 2 uso libre. Proteus versin de prueba.
Captulo IV.- Desarrollo de la metodologa para la adquisicin de datos digitales y analgicos con el software LabVIEW por medio de comunicacin serial RS-232. Desarrollo de la aplicacin.
105
4.5 DESARROLLO DE LA APLICACION.
LabVIEW cuenta con un modulo dedicado a la comunicacin el cual lleva por nombre Instrument I/O En este modulo encontramos las herramientas del VISA SERIAL las cuales utilizaremos para la comunicacin con el PIC16F877A, estas herramientas nos permiten trabajar con el puerto de comunicacin serial de nuestro PC y el PIC16F8877A, es decir podemos leer, escribir, establecer los parmetros de comunicacin y separar los bits de inicio y parada.
Grafico de control. El grafico de control es la representacin simblica del proceso, en este caso contamos con seales Booleanas y un indicador del tipo Numeric, cuando asociamos datos debemos de asegurarnos de usar las caractersticas necesarias para poder desarrollar la lgica de programacin, en este caso hacemos referencia al tipo de datos Booleanos y Numeric; cuando recibimos los datos por el puerto de comunicacin serial RS-232 obtenemos caracteres del tipo ASCII, dado que no contamos con un convertidor directo de ASCII a Boolean o a Numeric, se tendr que convertir el dato recibido y despus acoplarlo al tipo de datos Numeric, as mismo la visualizacin de datos Boolean tendr que acoplarse al tipo de datos recibidos,
Como realizar la lgica de programacin en LabVIEW. LabVIEW no tienen un orden especfico para realizar lgica de programacin, solo tiene reglas como: solo se pueden conectar elementos con el mismo tipo de datos (color y formato), no podemos dejar elementos sin conectar, debemos de cumplir con el requerimiento de cada icono de programacin para poder usar el mismo, cada icono ejecuta su funcin hasta que todas sus entradas estn disponibles al terminar su ejecucin transfiere los datos al nodo siguiente.
Captulo IV.- Desarrollo de la metodologa para la adquisicin de datos digitales y analgicos con el software LabVIEW por medio de comunicacin serial RS-232. Desarrollo de la aplicacin.
106
DIAGRAMA DE BLOQUES DEL GRAFICO DE CONTROL.
Fig. 4.6 Diagrama de bloques de grafico de control.
PANEL FRONTAL DE GRAFICO DE CONTROL.
Fig. 4.7 Panel frontal de grafico de control.
Captulo IV.- Desarrollo de la metodologa para la adquisicin de datos digitales y analgicos con el software LabVIEW por medio de comunicacin serial RS-232. Pasos de la metodologa.
107
Pasos de la metodologa.
1.-Para poder entender el ciclo que se debe de cumplir en la adquisicin de datos explicaremos el flujo de estos en el programa, una vez que se tiene la conexin entre el PC y nuestro sistema de adquisicin el cual es: microcontrolador, MAX232, USB-DB9 debemos de establecer en el diagrama de bloques, de nuestro grafico de control, las mismas caractersticas de comunicacin que definimos en el programa del microcontrolador; las cuales son: velocidad de transmisin 9600 baudios, numero de bits permitidos en el puerto 8 bits, paridad sin paridad.
2.- Ya que se tiene definido este punto pasamos a identificar la existencia de bits en el puerto.
3.-una vez que se identifica la existencia de bits en el puerto de comunicacin serial procedemos a leer estos, en este caso debemos de estar monitoreando la recepcin de bits en el puerto; lo cual logramos mediante la implementacin de un ciclo While el cual se ejecuta hasta que la condicin que se dispone lo detiene, con esta accin estaremos percibiendo cambios en el puerto de comunicacin serial.
4.- Ahora ya que estamos leyendo el puerto de comunicacin solo necesitamos agregar el icono que nos permite escribir en el puerto de comunicacin serial, esta accin la necesitamos para el control de los puertos digitales del microcontrolador.
5.-Ya que tenemos el cdigo ASCII que enva nuestro microcontrolador debemos de convertirlo a Numeric y a Boolean, lo cual se logra convirtiendo el dato obtenido en Byte y despus lo convertimos en un numero entero, para poder visualizarlo en una escala de 0 a 255, esta escala proviene de la conversin de binario a decimal en la cual representamos los 8bit`s del canal de conversin del microcontrolador en un numero decimal, una vez convertido el dato lo podemos visualizar en cualquier elemento que visualice datos del tipo Numeric.
Captulo IV.- Metodologa para la adquisicin de datos digitales y analgicos con el software LabVIEW por medio de comunicacin serial RS-232. Diagrama de flujo de la metodologa.
108
4.5.1 Diagrama de flujo de comunicacin serial.
N
S
Inicio Abrir el Software de National Instruments LabVIEW 8.5. Abrir una nueva plantilla para construir un Instrumento Virtual. Configurar los parmetros de comunicacin del puerto serial.
Procesamiento de Bytes en el canal de comunicacin. Lectura de datos. Existen bytes en canal de comunicacin. Escritura de datos. Cierre de canal de comunicacin. Captulo IV.- Metodologa para la adquisicin de datos digitales y analgicos con el software LabVIEW por medio de comunicacin serial RS-232. Desarrollo de la metodologa.
109
4.5.2 Desarrollo de la metodologa para la adquisicin de datos digitales y analgicos con el software LabVIEW por medio del puerto de comunicacin serial RS-232. Paso 1.- Iniciar programa de NATIONAL INSTRUMENTS LabVIEW 8.5.
Fig. 4.8 Icono representativo del software LabVIEW de National Instruments.
Una vez seleccionado aparece la siguiente ventana.
Fig. 4.9 Ventana de bienvenida de LabVIEW 8.5.
Icono representativo de la plataforma de programacin LabVIEW 8.5 de National Instruments. Esta ventana nos indica la versin con la que se cuenta, en este caso LabVIEW 8.5. Captulo IV.- Metodologa para la adquisicin de datos digitales y analgicos con el software LabVIEW por medio de comunicacin serial RS-232. Desarrollo de la metodologa.
110
Paso 2.-Crear un Instrumento Virtual para la comunicacin serial. Abrir un Instrumento en Blanco:
Fig. 4.10 Abrir un Instrumento Virtual en Blanco. Paso 3.-Configuracin de parmetros para la comunicacin seria:
Fig. 4.11 Configuracin de puerto serial. Abrir un Instrumento Virtual en Blanco. Este icono nos permite configurar los parmetros para sincronizar la comunicacin Serial. Captulo IV.- Metodologa para la adquisicin de datos digitales y analgicos con el software LabVIEW por medio de comunicacin serial RS-232. Desarrollo de la metodologa.
111
Debido a que debemos de establecer una sincrona entre elementos de comunicacin como: velocidad, paridad y nmero de bits a transmitir, utilizaremos el VISA Configure Serial Port. Pas 4.- Lectura de bytes en puerto:
Fig. 4.12 Lectura de Bytes en puerto de comunicacin Serial. La lectura de Bytes nos sirve para interpretar, ordenar y visualizar los caracteres en el formato de la norma RS-232, sin esta herramienta nuestro puerto de comunicacin no entendera los caracteres ni la comunicacin debido a que no tendra una referencia. Pas 5.- Lectura de bytes en el puerto.
Fig. 4.13 Lectura de datos. Este elemento nos indica la estructura de los datos. Para poder visualizar los datos necesitamos extraerlos del canal VISA con este Icono. Captulo IV.- Metodologa para la adquisicin de datos digitales y analgicos con el software LabVIEW por medio de comunicacin serial RS-232. Desarrollo de la metodologa.
112
La extraccin a lectura de datos del puerto es diferente de la lectura de Bytes debido a que extraeremos los caracteres que contienen codificados en los Bytes y no la estructura como lo es: 1bit de inicio, 1bit de trmino, y el contenido.
Pas 6.- Escritura de datos.
Fig. 4.14 Escritura de datos.
Para poder escribir datos en nuestro puerto necesitamos introducir el cdigo o caracteres en el canal de transmisin para lo cual usaremos el icono Write este icono nos permite enviar datos atreves de nuestro canal de comunicacin en el formato en el que se est trabajando.
Este icono nos permite escribir datos en el formato adecuado. Captulo IV.- Metodologa para la adquisicin de datos digitales y analgicos con el software LabVIEW por medio de comunicacin serial RS-232. Desarrollo de la metodologa.
113
Pas 7.- Cierre del Puerto de comunicacin.
Fig. 4.15 Cierre del Puerto de comunicacin.
Una vez que hemos terminado nuestra comunicacin o el ciclo de transferencia y recepcin de datos necesitamos finalizar la comunicacin cerrando el ciclo, esto se logra implementando el icono Close, el cual termina la comunicacin serial. Una vez que se culmino la comunicacin serial se concluye el ciclo. Es importante denotar que dependiendo las funciones que se deseen realizar o implementar en la obtencin de datos digitales y analgicos ser la lgica de programacin.
Cierre de transmisin serial. Captulo IV.- Metodologa para la adquisicin de datos digitales y analgicos con el software LabVIEW por medio de comunicacin serial RS-232. Conversin de datos.
114
Visualizacin de datos.
Conversin de datos String a Numeric. Los datos obtenidos del puerto de comunicacin se encuentran en formato ASCII por el tipo de estndar que maneja la comunicacin serial RS-232, debido a esto convertiremos los datos.
Fig. 4.16 Conversin de datos.
La extraccin de los datos recibidos por el READ, es en formato STRING, y su visualizacin es en caracteres o cdigo del tipo ASCII, por lo cual debemos de convertir los datos a Numeric, sin embargo no contamos con el icono que lo hace de manera directa; por lo tanto convertimos los datos del STRING a BYTE despus los pasamos a DOUBLE con lo cual tenemos un arreglo de caracteres del cual solo extraeremos los que nos interesan, al realizar esta conversin obtenemos los datos en nmeros decimales con lo cual nuestro valor obtenido oscila entre el valor cero y el dos cientos cincuenta y cinco.
Conversin de datos String a Numeric Anlisis econmico.
115
Anlisis econmico. Para el desarrollo del anlisis dividiremos en etapas la ejecucin del proyecto. Estas etapas se basaran en el tiempo aproximado que duro cada etapa, es decir desde el inicio hasta la conclusin de cada una de ellas en tiempo efectivo lo cual no indica el tiempo total invertido, y se cuantificara en horas debido a que el presente trabajo fue un desarrollo, tambin se tomara en cuenta el salario promedio de un pasante de ingeniera recin egresado el cual se pretende se encuentre entre $ 14,000 y $ 16,000 pesos, los tiempos se encuentran sujetos a una estimacin tomada previamente.
Etapa 1.Tiempo de recoleccin de la informacin. Con duracin de 32 das tomando como estndar 2.5hrs diarias debido a que se realizaba una preseleccin del material recolectado. Esta etapa comprende el proceso de bsqueda de informacin la cual se baso en la necesidad que comprende el trabajo, la recoleccin de informacin estuvo orientada a libros, pginas electrnicas y artculos que contenan fuentes de informacin ms fidedignas de profesionales con amplia experiencia en el ramo de la materia; el tiempo estimado en la recoleccin de la informacin fue de 96hrs.
Etapa 2.Tiempo invertido en analizar y seleccionar la informacin. Con duracin de 64 das tomando como estndar 1.5hrs por da para realizar un anlisis profundo y selectivo. Anlisis de la informacin: Una vez que se recolecto la informacin pertinente para el desarrollo del trabajo presente se procedi a clasificar y seleccionar la que defina de manera ms explcita el tema que se necesitaba esclarecer, esta etapa comprendi 80hrs.
Etapa 3. Tiempo dedicado al anlisis y exploracin del Software LabVIEW. Con duracin de 120 das tomando como estndar 2hrs por da. En esta etapa se descargo la versin de prueba que brinda National Instruments en la siguiente pgina: http://www.ni.com/trylabview/esa/ , la cual contempla 30 das como mximo, tiempo en el cual podemos disfrutar de la mayora de las caractersticas de este software de manera gratuita; esta etapa contemplo 120hrs.
Etapa 4.Tiempo estimado del desarrollo de la aplicacin Con duracin de 35 das tomando como estndar 1.2hrs por da. Durante este periodo se realizaron las pruebas necesarias para el desarrollo de aplicaciones que puedan colectar datos digitales y analgicos, as mismo se detallo el proceso que se emplea para el uso del puerto RS-232; en este periodo se comprendieron 40hrs.
Anlisis econmico.
116
Costo del desarrollo del proyecto.
Para establecer el costo del desarrollo del proyecto se tomara en cuenta: Personal involucrado, tiempo de desarrollo, Hardware y Software, que se necesito para el desarrollo del mismo, por ltimo se toma como base un estimado del sueldo de un ingeniero aproximado de $16,000.00 mensuales.
En este caso solo hubo una persona involucrada; Hardware 1 computadora; Software: Office, Windows XP, LabVIEW, MPLAB. PICkit 2. El total de nmero de horas invertidas en el proyecto nos da una estimacin de 416hrs. El costo de hora por mano de obra se obtiene de dividir el salario mensual entre el nmero de das lo cual nos arroja un costo de $100.00 por hora.
Partiendo de los datos obtenidos se realiza la siguiente frmula: donde X es el costo por hora y H es el total de horas acumuladas para lo cual tenemos lo que nos da un total de $41,600.00 Horas /Hombre.
El equipo de computo que se uso tiene un costo de $16,400.00, las licencia del software fueron de carcter gratuito y otras de la versin de prueba que ofrecen; sin embargo se calcularan los costos del mismo, licencia de LabVIEW de National Instruments en modo developer Suite y por una duracin de 3 aos incluyendo actualizaciones es de $84,848.80 en este punto se anula el precio debido a que se utilizo la versin de prueba, Office 2010 Pro $6.001.37, Windows XP adquirido con el equipo de computo, los dems software son de uso libre, los cuales los brinda Microchip. Una vez contempladas las licencias sumamos el costo:
Unidad Material Precio 1 pza. Office 2010 Pro $ 6,001.37 416 hrs H/H $ 41,600.00 1 pza. PC personal $ 16,400.00 Total= $ 64,001.37
Lo cual nos arroja un precio de desarrollo de proyecto de $64,001.37
Anlisis econmico.
117
Costo del prototipo. En esta etapa se involucran los precios del material que se implemento para la aplicacin: Unidad Material Precio 1pza. PIC16F877A $ 180.00 1pza. MAX-232 $ 90.00 5pzas. Capacitores de tantalio $ 250.00 12pzas. Resistencias $ 150.00 1pza. Potencimetro $ 20.00 1pza. Fuente regulada $ 250.00 1pza. Cautn $ 220.00 1pza. Cable USB-DB9 $ 360.00 5mts. Alambre y cables para conexiones $ 50.00 1pza. Cristal de cuarzo $ 20.00 1pza. Quemador de PIC $ 480.00
Total $ 2,070.00
Teniendo los costos del desarrollo y del prototipo los sumaremos para obtener el total.
Concepto Precio Desarrollo de proyecto $ 64,001.37 Costo de prototipo $ 2,070.00
Total = $ 66,071.37
Anlisis econmico.
118
Ahora realizaremos una comparativa entre la metodologa y el tomar los cursos que brinda National Instruments.
Costo de Cursos: National Instruments cuenta con numerosos cursos de capacitacin en los cuales podemos ir conociendo y desarrollando las herramientas del entorno de programacin, estos cursos se pueden vender por separado en mdulos, o en un paquete. Los mdulos tienen un precio unitario y especifican el nmero de das en los cuales se imparten, en estos mdulos el aprendizaje es limitado al contenido del mismo, as como las herramientas y la informacin. O bien podemos tomar un curso de 6 meses con un valor de $ 48,990.00 con el nombre de Training and Certification Membership cdigo 780154-01. 1 ao con precio de $73,490.00 mismo nombre diferente clave 780154-11. 2 aos con precio de $97,990.00 mismo nombre diferente clave 780154-21. Estas ltimas tres alternativas nos dan acceso ilimitado a todos los cursos de capacitacin y exmenes de certificacin de NI. En este proceso tambin se desglosan las horas que se le invierte al desarrollo de la aplicacin y el sueldo del interesado en los das del curso lo cual nos da un total de 160hrs H/H con un costo de $16,000.00 Una vez que tenemos los precios calculados se suman las cantidades y se compara con el desarrollo: Precio total tomando cursos con National Instruments es de: $136,458.8 sin IVA
Concepto Precio Training and Certification Membership cdigo 780154-01. $ 48,990.00 960 H/H $ 96,000.00
Total $ 144,990.00
Costo de aplicacin para la adquisicin de datos digitales y analgicos:
Unidad Material Precio 1pza. Tarjeta NI 9219 $13,460.00 1pza. PC con software Office $22,401.37 1pza. Sensor MPX2200 $ 317.50 2pza. Total de $36,178.87sin IVA
Ya que tenemos el costo de total de ambos los sumamos lo cual nos da un valor de $181,168.87sin IVA, dado que la adquisicin de los cursos nos genera un IVA y el Hardware tambin se lo sacamos a la cantidad total generada lo cual nos arroja un total de $208,344.20 con IVA.
Anlisis econmico.
119
Una vez que tenemos los costos de ambos, se puede denotar que este trabajo representa un aporte apropiado para los estudiantes de la ESIME Azcapotzalco, debido a que solo es una introduccin al manejo del software LabVIEW. El software LabVIEW es extenso y se puede emplear en numerosas aplicaciones, sin embargo no ha tomado mucho auge en la ciudad de Mxico por el momento.
Este trabajo busca dar una herramienta ms a todos los estudiantes, para tener la oportunidad de realizar y desempear prototipos novedosos y sofisticados sin tener que realizar una inversin monetaria con la cual no se cuenta, as mismo se pretende contar con conocimientos de los pases que cuentan con tecnologas de punta lo cual nos brindara una mejor calidad de vida al estar ms preparados.
Mxico es un pas en desarrollo con lo cual los profesionistas que manejen la mayor parte de herramientas, sern los que puedan tener acceso a procesos sofisticados y entre mas profesionistas, de escuelas pblicas mexicanas, tengan acceso a estos procesos seremos ms reconocidos como mano de obra competente con lo cual estaremos abriendo las puertas de empresas internacionales a todos los estudiantes que cuenten con una buena preparacin acadmica. Conclusiones.
120
Conclusiones.
El hecho de que LabVIEW sea una herramienta de vanguardia mundial, y utilizada mas habitualmente en otros pases desarrollados, complica la informacin que se puede usar respecto al uso de este Software, a menos que se cuente con un amplio presupuesto econmico para adquirir un curso, el presente documento es una excelente herramienta para tomar como base en el desarrollo de grficos de control usando LabVIEW y su puerto de comunicacin RS-232 lo cual se puede comprobar en el captulo IV.
LabVIEW es una potente herramienta en el desarrollo de grficos de controla nivel software, el cual puede conectarse con una inmensa cantidad de hardware de National Instruments, sin embargo la adquisicin de estas dos herramientas contempla un alto incremento econmico. El presente documento es una aplicacin de cmo usar esta potente herramienta con hardware creado por nosotros mismos mediante el puerto de comunicacin RS-232 y un PIC 16f877A, para la adquisicin de datos digitales y analgicos, cabe destacar que este logro es parte del objetivo general y se puede comprobar en el captulo IV.
LabVIEW es un software el cual contempla herramientas para la realizacin de tareas especificas y nos brinda diferentes maneras de conexin, comunicacin, anlisis y despliegue de informacin, mediante un ambiente de programacin flexible y bastante amigable para el usuario.- En el cual podemos emplear poco tiempo en la sintaxis del programa pudiendo aprovechar ms tiempo en la mejora del mismo. A si mismo cuenta con diferentes caminos para el procesamiento de datos, los cuales podemos visualizar en diferentes grficos de control sin tener que modificar parmetros del procesamiento de estas seales, tambin podemos ejecutar acciones, de manera simple y practica, para el control de estos parmetros medibles, este punto fue uno de los objetivos especficos y se puede comprobar en el captulo III.
El puerto de comunicacin serial RS-232 es habitualmente conocido por la mayora de estudiantes y profesionales de carreras tcnicas, lo cual facilita la informacin de este, asimismo la mayora de dispositivos que procesan datos industriales tienen este puerto para poder comunicarse.
Un punto clave en la recoleccin de datos digitales y analgicos es el elemento de transmisin, en este caso el PIC 16f877A, el cual facilito significativamente el desarrollo de la aplicacin, debido a su puerto de comunicacin asncrono; este se puede programar de una manera fcil y podemos modificar de forma prctica las entradas y salidas con las que disponemos en este dispositivo. No obstante se acoplo la seal de transmisin del PIC16f877A con un MAX-232, esto no fue ms que una amplificacin de seal para poder comunicar el puerto serial de la PC con el PIC, el PC trabaja con un rango promedio de 12v y el PIC con un rango promedio de 4.5v, este punto se puede comprobar en el captulo II.
Conclusiones.
121
El tipo de seales a adquirir las podemos transformar o acoplar al nivel de ejecucin o entendimiento del software mediante perifricos electrnicos de bajo costo, los cuales cuenten con una gran cantidad de informacin para poder desarrollarlos de manera simple y eficiente, este punto fue uno de los objetivos especficos y se logro con xito en el captulo IV.
Es importante conocer y entender la comunicacin del tipo de datos al realizar la transmisin de seales para poder establecer un camino a seguir en la ejecucin del procesamiento de los datos.
Los limites de nuestras variables a recolectar y la falta de eficiencia de estas se encontraran delimitadas por el elemento que transmita, esto lo podemos identificar mediante las caractersticas tcnicas ya sea que se requieran o las que nos brinda el dispositivo.
Recomendaciones.
122
Recomendacin.
Es importante tener en cuenta la versin del software que se est usando, la cual es LabVIEW 8.5, debido a que est en constante mejora esta herramienta y es posible que para implementarlo en otras versiones se necesiten hacer ciertas modificaciones.
El presenta es un estndar de cmo manejar el puerto de comunicacin serial RS232, envi y transmisin de datos a travs de este con el software LabVIEW. Este trabajo no es un estndar para realizar aplicaciones de adquisicin de datos, debido a que depender de la visin del desarrollador para emplear las herramientas que se explican. Las caractersticas del software o del presente trabajo no estn directamente ligadas al microcontrolador.
MEJORAS A FUTURO.
Este trabajo solo explica una reducida porcin de lo que puede realizar el software LabVIEW, sin embargo es una herramienta poderosa para realizar sistemas SCADA.
Podemos emplear los parmetros de voltaje con los que cuenta el microcontrolador y hacer la comunicacin directa con el PC.
Realizar controles como PWM, variadores de velocidad, controles de temperatura, etc.
Realizar controles de PICs para manejar 2 o 3 seales analgicas y digitales con un solo cable de comunicacin.
Estas son algunas de las mejoras con las que podemos obtener ms herramientas, tanto en la programacin de PIC`s y en el manejo de esta herramienta de programacin.
Glosario.
123
Glosario.
Seal: es una representacin, en diversos tipos y formas, que informa. Digital: representacin de dgitos Analgico: representacin de manera contina en el tiempo la evolucin de una magnitud. Microprocesadores: es la unidad que procesa la informacin dentro de un computador, construido a base de miles de componentes electrnicos integrados Microcontroladores: es un circuito integrado que encapsula las tres unidades fundamentales de una computadora las cuales son: unidad central de procesamiento, memoria, perifricos de entrada y salida. PIC: Peripheral Interface Controller el cual es una familia de los microcontroladores con memoria RISC desarrollados inicialmente por GI. Perifricos: cualquier dispositivo el cual comunique el exterior con la unidad central de procesamiento o que ayude como memoria a la memoria principal. Encapsulado: la presentacin fsica que tienen los componentes electrnicos. Encriptar: sinnimo de cifrar, accin para proteger un cdigo u ocultarlo mediante una clave. Conversores: son aquellos dispositivos que convierten un dato al especificado, por ejemplo un convertidor analgico-digital, convierte el dato analgico a uno digital. Set: sinnimo de asignar Lenguaje ensamblador: es un medio de entendimiento entre el cdigo digital y el usuario. Acoplar: unir o encajar de manera que perfecta lo involucrado. RISC: Reduced Instruction Set Computer, juego de instrucciones reducido, lo cual indica que con un nmero corto de comandos podemos realizar tareas especficas. Memoria tipo flash: es una memoria la cual permite leer y escribir mltiples posiciones de memoria en la misma instruccin. Memoria tipo EEPROM: Electrically-Erasable Programmable Read-Only Memory, es un tipo de memoria la cual puede ser programada, leda y escrita elctricamente. Glosario.
124
Memoria RAM, random-access memory es la memoria donde el procesador recibe instruccin y almacena resultados. USART: universal asynchronous receiver/transmitter, es la transmisin y recepcin asncrona del puerto serial. Asncrono: a la falta de sincrona entre 2 parmetros Baudio: unidad de medida usada en telecomunicaciones, la cual representa la cantidad de cambios que tiene la seal. ASCII: American Standard Code for Information Interchange, cdigo utilizado para representar caracteres. ANSI: American Nationals Standards Institute, instituto que omite normas. EIA: Environmental Impact Assessment, Evaluacin de impacto ambiental. FORTRAN: formula translator, lenguaje de programacin. COBOL: common Business Oriented Language, lenguaje de programacin. PL/1: Programming Language 1, lenguaje de programacin. BASIC: benginners All-purpose Symbolic Instruction Code lenguaje de programacin. RAD: Desarrollo Rpido de Aplicaciones, lenguaje de programacin. CASE: Computer Aided Software Engineering, lenguaje de programacin. LISP: List Processing, lenguaje de programacin basado en listas. Informtica: ciencia encargada del estudio y tratamiento automtico de la informacin. Proceso: la conjuncin de etapas o pasos que existen dentro de un principio y un fin. Codificacin: accin de transformar un contenido a un cdigo. EDDs: Estructuras Dinmicas de Datos, son estructuras que se amplan o se reducen segn los requerimientos que se necesiten. Software: es la lgica empleada en un computador para resolver tareas especficas Hardware: son las representaciones fsicas de una computadora. Glosario.
125
Sistemas embebidos: son sistemas orientados al anlisis en tiempo real de algunas tareas especficas, las cuales se encuentran en la misma tarjeta electrnica de control. FPGA: Field Programmable Gate Array, es un componente semiconductor el cual contiene bloques de lgica cuya interconexin y funcionalidad puede ser programada mediante de un software. DSP: Digital Signal Processing, procesador digital de seales. PID: Proporcional Integral Derivativo, mtodo utilizado en el clculo de sistemas de control. PAC: controladores de automatizacin programables es el conjunto de dispositivos interconectados a una FPGA, por ejemplo, la cual realiza tareas especficas. PLC: controladores lgicos programables. VI: Virtual Instruments, instrumento Virtual; se la llama a si debido a que representa elementos virtuales fsicos mediante grficos programables. Sub-VI: elementos virtuales dentro de elementos virtuales. Bit: un digito del sistema de numeracin binaria. Byte: es una palabra de dgitos. Field-Point: es una unidad de entradas y salidas, en la cual se pueden desarrollar sistemas de control. Panel Frontal: es la ventana de LabVIEW en la cual colocamos los elementos virtuales a representar. Diagrama de Bloques: es la ventana de LabVIEW en donde se coloca el cableado de los iconos de programacin lgica. LabVIEW; nombre corto dado su nombre en ingles Laboratory Virtual Instrumentation Engineering Workbench, el cual es llamado lenguaje G, la G de Grafico. SCADA; iniciales de su nombre en ingles Supervisory Control And Data Acquisition.
Bibliografa. 126
Bibliografa.
(Checkland 1980) Checkland, Peter. The System Movement and the Failure of Management Science. Cybernetics and Systems: An International Journal, 11. 1980. (Hitchins 1992). Hitchins, Derek. Putting Systems to Work. John Wiley & Sons, Chichester, England. 1992. Lpez Cano Jos Luis, Mtodos e hiptesis cientficas, Mxico, 1984. Roberto Hernndez Sampieri, Carlos Fernndez Collado, Pilar Baptista Lucio, Metodologa de la investigacin, Mc Graw Hill, Colombia (1996). Lpez Cano Jos Luis, Mtodos e hiptesis cientficas, Mxico, 1984. Roberto Hernndez Sampieri, Carlos Fernndez Collado, Pilar Baptista Lucio, Metodologa de la investigacin, Mc Graw Hill, Colombia (1996). Gregorio Klimovsky, Las desventuras del conocimiento cientfico. Una introduccin a la epistemologa, A-Z editora, Bs.As., 1997, ISBN, 950-534-275-6. Ren Descartes. Discurso del mtodo. segundo ttulo o indicacin al ttulo principal Discours de la methode. Pour bien conduire la raison & chercher. Mtodo en Diccionario de Filosofa J. Ferrater Mora, Ariel, Barcelona, 1994, ISBN 84-344-0500-8, p. 2402. Albert Paul Malvino, Principios de electrnica. Sexta edicin. 1999. Tocci, Ronald J., Neal S. Windmer, Gregory L. Moss. Sistemas digitales Principios y Aplicaciones. Decima edicin, 2007. Mileaf, Harry. Electricidad serie 1-7. Mxico, 2008. National Instrument. LabVIEW Help, 371361D-01, August 2007.
Bibliografa. 127
Pginas de internet consultadas.
http://www.ispjae.cu/eventos/colaeiq/Cursos/Curso12.doc http://sistemigramas.wordpress.com/2009/01/21/la-diferencia-entre-el-pensamiento-de-sistemas-duros-y-del- pensamiento-de-sistemas-suaves/ http://es.wikipedia.org/wiki/Puerto_%28computaci%C3%B3n%29 http://www.alegsa.com.ar/Dic/comunicacion%20serial.php http://www.dte.us.es/tec_inf/itis/estr_comp/docweb/tema4/tema4ec-3.pdf http://www.desarrolloweb.com/manuales/manual-iniciacion-programacion.html http://www.todo-programacion.com.ar/archives/2005/04/lenguajes_de_al.html http://www.desarrolloweb.com/manuales/manual-iniciacion-programacion.html http://www.desarrolloweb.com/articulos/2477.php http://www.ispjae.cu/eventos/colaeiq/Cursos/Curso12.doc http://www.elrinconcito.com/articulos/Analogicas_D/Comunica.htm Cursos GMAT, GRE, TOEFL Escuela de Admisiones al Posgrado dirigida por MBAs y Coaches www.testpoint.com.mxEnlaces patrocinados http://www.mailxmail.com/curso-redes-transmicion-datos-1/datos-digitales-analogicos-senales- digitales-analogicas http://www.microchip.com Web oficial del fabricante de los PIC en ingls y chino. http://www.msebilbao.com Microsystems Engineering, kits, libros. http://www.ic-prog.com Software para programar dispositivos. http://www.jdm.homepage.dk/newpics.htm Programador JDM http://www.labcenter.co.uk/ Proteus. Simulacin de microcontroladores y diseo de circuitos impresos. http://perso.wanadoo.es/pictob/micropic.htm#pic16xxx_con_instrucciones_de_14_bits http://www.ni.com/labview/family/esa/ http://sine.ni.com/nips/cds/view/p/lang/es/nid/202567
Anexo1
128
ANEXO 1 caractersticas tcnicas del PIC16F877A:
Anexo2
129
ANEXO 2 Caractersticas tcnicas del MAX232:
Anexo3
130
Anexo 3 diagrama de conexin del MAX232-PC-Microcontrolador.