ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1...

131
INSTITUTO POLITÈCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ELÈCTRICA UNIDAD PROFESIONAL AZCAPOTZALCO TESIS “METODOLOGIA PARA LA ADQUISICION DE DATOS DIGITALES Y ANALOGICOS CON EL SOFTWARE LabVIEW POR MEDIO DE COMUNICACIÓN SERIAL RS-232.” PARA OBTENER EL TÍTULO DE: INGENIERO EN ROBÓTICA INDUSTRIAL PRESENTA: CARLOS MIGUEL PINEDA GALLEGOS ASESORES: M. EN C. RAMÒN VALDÈS MARTÌNEZ ING. CARLOS ALBERTO MENDOZA AGÛERO

Transcript of ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1...

Page 1: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

INSTITUTO POLITÈCNICO NACIONAL

ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ELÈCTRICA

UNIDAD PROFESIONAL AZCAPOTZALCO

TESIS

“METODOLOGIA PARA LA ADQUISICION DE DATOS DIGITALES Y

ANALOGICOS CON EL SOFTWARE LabVIEW POR MEDIO DE

COMUNICACIÓN SERIAL RS-232.”

PARA OBTENER EL TÍTULO DE:

INGENIERO EN ROBÓTICA INDUSTRIAL

PRESENTA:

CARLOS MIGUEL PINEDA GALLEGOS

ASESORES:

M. EN C. RAMÒN VALDÈS MARTÌNEZ

ING. CARLOS ALBERTO MENDOZA AGÛERO

Page 2: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.
Page 3: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

2

Índice

Contenido

Página

Objetivo general.

4

Objetivos específicos.

4

Justificación.

5

Capítulo 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 Definición de metodología

11

1.2.2 Tipos de metodología.

12

Capítulo II. FUNDAMENTOS DE ELECTRONICA Y MICROCONTROLADORES. 14

2.1 ELECTRONICA BASICA.

15

2.1.1 Historia de la electrónica.

15

2.1.2 Componentes básicos de la electrónica. 16

2.2 SEÑALES DIGITALES Y ANALOGICAS.

21

2.2.1 Señales digitales.

22

2.2.2 Señales analógicas.

24

2.3 MICROCONTROLADORES.

25

2.3.1 PIC´s

25

2.3.2 PIC 16F877A

26

2.3.2.1 Características del PIC 16F877A.

26

2.4 TIPOS DE COMUNICACION.

39

2.4.1 Comunicación serial.

39

2.4.2 Tipos de comunicación serial.

40

Capítulo 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 programación. 49

3.3 LabVIEW.

51

3.3.1 Aplicación de simulación en LabVIEW.

65

3.3.2 Aplicación de comunicación serial “ECHO”. 76

Page 4: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

3

Capítulo IV. DESARROLLO DE LA METODOLOGIA PARA LA DQUISICION DE DATOS DIGITALES Y ANALOGICOS CON EL SOFTWARE LabVIEW POR MEDIO DE COMUNICACIÓN SERIAL RS-232. 94

4.1 PLANTEAMIENTO DE LA APLICACIÓN.

95

4.1.1 Descripción de la aplicación.

95

4.2 ELEMENTOS DE LA APLICACION.

96

4.3 ADQUISICIN DE DATOS DIGITALES Y ANALOGICOS. 98

4.3.1 Envió y transmisión de datos digitales y analógicos. 98

4.3.2 Diagrama de conexión del PIC16F877A para datos digitales y analógicos. 101

4.3.3 Diagrama de conexión del acoplamiento de señal PIC16F877A con PC. 102 4.4 HARDWARE Y SOFTWARE A UTILIZAR PARA EL DESARROLLO DE LA APLICACIÓN. 103

4.5 DESARROLLO DE LA APLICACION.

104

4.5.1 Diagrama de flujo de comunicación serial. 108 4.5.2 Desarrollo de la metodología para la adquisición de datos digitales y analógicos con el software LabVIEW por medio de comunicación serial RS-232. 109

Análisis económico.

115

Conclusiones.

120

Recomendaciones.

122

Glosario.

123

Bibliografía.

126

ANEXO1 ANEXO2

ANEXO3

Page 5: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

INSTITUTO POLITECNICO NACIONAL ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA

UNIDAD PROFESIONAL AZCAPOTZALCO. Objetivo general, específicos.

4

OBJETIVO GENERAL.

Desarrollar una metodología para la adquisición de datos digitales y analógicos con el software LabVIEW por

medio de comunicación serial RS-232, para desarrollar aplicaciones a bajo costo.

OBJETIVOS ESPECIFICOS.

1.- Realizar una investigación sobre metodologías, sistemas duros, sistemas suaves, fundamentos de

electrónica, microcontroladores, comunicación serial y LabVIEW.

2.- Analizar y seleccionar información para el desarrollo de la metodología para la adquisición de datos

digitales y analógicos con el software LabVIEW por medio de comunicación serial RS-232.

3.- Desarrollar una metodología para la adquisición de datos digitales y analógicos con el software LabVIEW

por medio de comunicación serial RS-232.

4.- Desarrollar una aplicación de la metodología para la adquisición de datos digitales y analógicos con el

software LabVIEW por medio de comunicación serial RS-232.

Page 6: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

INSTITUTO POLITECNICO NACIONAL ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA

UNIDAD PROFESIONAL AZCAPOTZALCO. Justificación.

5

JUSTIFICACION.

En la actualidad los procesos industriales son más exigentes y rigurosos, debido a estas características las

HMI deben de ser más detalladas y amigables con el usuario, los gráficos de control son requeridos más

eficientes y eficaces, la codificación o lógica de programación sumamente exacta y precisa, por estas

razones se necesitan de herramientas potentes tanto en los gráficos de control como en el entorno de

desarrollo y procesamiento de datos, estas características se pueden cumplir con una amplia gama de

productos, sin embargo LabVIEW de National Instruments es una herramienta que cubre las características

más exigentes y complejas para desarrollar aplicaciones SCADA (supervisión, control y adquisición de

datos) que nos brinden procesos precisos, eficientes y eficaces.

Debido a las características de esta herramienta de desarrollo los cursos y la información 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 metodología para la adquisición de datos digitales y analógicos

con la cual podamos implementar herramientas, Hardware, creadas por nosotros mismos; las cuales tengan

las características antes mencionadas asiéndolas más accesibles económicamente y amigables para el

desarrollador y el usuario.

Usando el puerto de comunicación serial RS-232 y un microcontrolador los cuales son de bajo costo y más

generales en el uso tanto profesional y académico, podemos realizar la instrumentación necesaria para

obtener datos digitales y analógicos; usando el Trial del Software de National Instruments LabVIEW

podemos desarrollar la aplicación correspondiente, juntando estas herramientas podemos cumplir con las

características mencionadas.

Page 7: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

6

“ESTUDIO DEL ESTADO DEL ARTE”

Administrator

INSTITUTO POLITECNICO NACIONAL

[Seleccionar fecha]

CAPITULO I

Page 8: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo I.- Estudio del estado del arte. Sistemas duros y sistemas suaves.

7

1.1 SISTEMAS DUROS Y SISTEMAS SUAVES.

Checkland señala que los sistemas “duros” (“hard” systems) tienen una manifestación concreta en la

realidad. Los sistemas “blandos” (“soft” systems) son conceptuales en vez de concretos, refiriéndose a los

modelos conceptuales que se construyen en la Metodología de Sistemas Suaves.

Reproducimos un texto de (Checkland 1980) sobre sistemas duros y sistemas suaves:

“… lo segundo implica el desarrollo práctico del pensamiento de sistemas mediante la aplicación de este

enfoque en la solución 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 manifestación „concreta‟ en la

realidad. También compete a esta segunda distinción……………. los trabajos desarrollados en lo que se

denomina sistemas ‟suaves‟ (‟soft‟ systems), sistemas que son conceptuales en vez de concretos”

Sin embargo, es más adecuado hablar de situaciones “suaves” y “duras”, como lo hace (Hitchins 1992) quien

indica define los términos: “Hard. Clearly defined or definable and with evident purpose. (Duro. Claramente

definido o definible y con un propósito evidente)”; “Soft. Complex, poorly defined, and without clear singular

purpose. (Suave. Complejo, pobremente definido y sin un claro y único propósito)”.

Entiéndase como situación al conjunto de factores o circunstancias que afectan a alguien o algo en un

determinado momento

Extracción del artículo: 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

Page 9: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo I.- Estudio del estado del arte. Sistemas duros.

8

1.1.1 Sistemas duros.

Son problemáticas bien definidas en donde los participantes están de acuerdo en la solución y coinciden en

la definición del mismo, digamos el camino de solución, situaciones concretas en las cuales tenemos claro el

¿Qué? Y nosotros definiremos el ¿Cómo?; son sistemáticas y totalmente reales, referimos reales al hecho

de que las variables son físicas y la solución también; El resultado que arroja este tipo de sistemas es la

recomendación exacta o el producto.

Un ejemplo claro de este tipo de sistemas seria un accionamiento de un motor, este sería el ¿Qué?

El cómo se definiría 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-mecánica u otra, otra característica

seria el tipo de alimentación y potencia; es de notar que estas variables se encuentran explicitas y definidas

por la técnica y la ingeniería a implementar.

Los problemas que presentan estos sistemas siempre tienen una solución fiable y exacta, debido a que

implementan variables medibles como lo son: cuantitativas, cualitativas y determinantes; esto nos indica que

podemos emplear métodos o sistemas de investigación científicos para encontrar la respuesta al problema.

Estos métodos ya están comprobados por el hombre y empleados en muchas otras problemáticas, de esta

manera las respuestas son conocidas y calculadas por ciencias exactas como las matemáticas.

Las tareas que se resuelven en este tipo de sistemas son cíclicas y nunca cambian por factores externos al

sistema es decir; el sistema estará calculado exacto a la solución 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 acción siempre nos causara un efecto el cual debemos tener contemplado si es que

tenemos la solución correcta del sistema, al tener un sistema duro todas las soluciones o cálculos que se

tengan deben de coincidir ya que el sistema contiene las mismas variables y procedimientos de solución

esto comprueba el hecho de que el sistema sea duro y no suave.

Estas soluciones se encuentran más orientadas a la parte tecnológica 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, también se toma en cuenta el método más

corto, simple, optimo y económicamente barato, podemos relacionar la solución del método basándonos en

las características básicas de la solución con lo cual tenemos la posibilidad de elegir numerosas variables

que nos ayuden a reducir cualquiera de nuestras características básicas de solución esto nos sería bastante

tedioso en una solución a un sistema suave debido a que no podemos pasar por alto las variables del

carácter humano y las posibles ramificaciones que arrojan.

Page 10: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo I.- Estudio del estado del arte. Sistemas suaves.

9

1.1.2 Sistemas suaves.

Son problemáticas las cuales tienen diferentes variables, no están definidas, e interactúan con la mano

humana la cual torna difícil e inexacta la problemática, en este tipo de sistemas la primera pregunta a definir

es el ¿Qué?; más que un tema concreto es conceptual, y no busca solucionar el sistema sino mejorar la

situación; el resultado del sistema es un proceso de aprendizaje o una mejora a la situación.

El autor Peter Cleckland tiene una metodología 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.- Situación no estructurada: se reúne toda la información disponible

Estadio 2.- Situación expresada: un grafico para aclarar los puntos clave

Estadio3.- Se identifican sistemas relevantes y se elaboran definiciones raíces mediante CATWOE

C= cliente, cliente o beneficiario.

A= actor.

T= transformación de entrada en salida.

W= weltanschauung visión del mundo o punto de vista que da origen a las definiciones.

0= propietario, tiene autoridad para detener la transformación.

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 raíces.

Estadio5.- Deben de salir las diferencias entre los modelos y lo actual.

Estadio6.- Se identifican los cambios factibles deseados.

Estadio7.- Se toma acción para una mejora de la situación problema.

Una vez llegando al paso siete se realiza un ciclo cerrado pasando del estadio 7 al 1 esto nos brindara una

visión cada vez más cerrada de la problemática y un objetivo más 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, también se agrega que la solución depende de

las circunstancias que se den lo cual torna bastante inestable una solución y solo podemos reunir o crear

criterios para ayudarnos a implementar un camino muy general para la solución o una guía para la misma.

Un ejemplo claro de un sistema suave sería: crear una solución 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

llegaríamos a una conclusión solo tendríamos una serie de variables a considerar, lo que se podría hacer

Page 11: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo I.- Estudio del estado del arte. Sistemas suaves.

10

seria una guía 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 información, ya

que la decisión final no es de nosotros, solo daremos una guía para un determinado y definido tipo de

situaciones.

La palabra Sistema en las situaciones suaves, según Checklan, son solo la vía a conseguir métodos los

cuales no brinden diferentes ideas y pasos los cuales nos faciliten la solución o nos brinden una idea más

clara para entender el camino a ella, debemos de tener en cuenta que la solución 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 serán creadores basados en la información con la que se cuente.

Page 12: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo I.- Estudio del estado del arte. Definición de metodología.

11

1.2 METODOLOGIA.

1.2.1 Definición de metodología.

Metodología es una palabra compuesta por tres vocablos; metà (más allá), odòs (camino) y logos (estudio)

este concepto hace mención a los métodos de investigación que se emplean para obtener ciertos objetivos

en una ciencia; sin embargo es de notar que se debe de definir la palabra método: el cual nos indica el

camino a seguir para obtener los objetivos; metodología: es el estudio del método; de estas 2 definiciones

nos deriva una más la cual es metodólogo: este aporta nuevas estrategias para aumentar el conocimiento ya

adquirido.

La metodología brinda la sistematización para llevar acabo metas; en este caso nos brinda una guía para

poder desarrollar aplicaciones y bases para emplear diferentes implementaciones basadas en esta

metodología, digamos que tenemos la técnica y le daremos diferentes objetivos mediante las necesidades

de cada percepción.

1.2.2 Tipos de metodologías.

Muchos definen 2 clases de métodos los cuales se adhieren a su clasificación en la medida de su solución lo

cual nos lleva a los métodos del tipo empíricos y a los del tipo lógico por ende los métodos del tipo lógico se

resuelven empleando pensamientos analíticos, deductivos y de síntesis; mientras que los del tipo empírico

se basan en la experiencia, experimentación y observación del científico.

Método lógico deductivo.

En este se parte de datos generales son aceptados como validos para así llegar a una conclusión de tipo

particular, se parte de una ley o fenómeno comprobado para poder obtener un juicio mas particular

enfocado al fenómeno a deducir en el cual las matemáticas son el camino más lógico.

Método deductivo-directo o conclusión inmediata.

Se parte de un solo origen el cual nos lleva a una generalidad la cual es exclusiva del origen y directa.

Método deductivo-indirecto o conclusión mediata-formal.

Se obtienen de 2 o más argumentos los cuales proponen nos lleven a un tercero y a su vez definan una

particularidad de este.

Método hipotético 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.

Page 13: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo I.- Estudio del estado del arte. Tipos de metodología.

12

Método lógico inductivo.

Por medio de numerosos factores se toman decisiones o se crean hipótesis, de estas se tienen dos

tendencias las cuales pueden ser Inducción-completa o inducción-incompleta; la inducción-completa está

basada en un número conocido de argumentos y se toma la totalidad de estos para crear una solución; la

inducción-indirecta solo colecta un muestre de los datos obtenidos debido a que no se sabe con exactitud la

totalidad.

Método de concordancia.

Se encarga de enfatizar las similitudes entre diferentes fenómenos con lo cual deduce la causa que los

genera.

Método de diferencia.

Se reúnen varios argumentos y en ellos se busca el elemento que hace falta para evitar su creación.

Método sintético.

Se realiza un análisis de hechos precisos para poder obtener una causa probable.

Método analítico.

Se procede de varios experimentos los cuales en base a sus cualidades y composiciones anatómicas nos

ayudan para evidenciar nuevas teorías.

Métodos Empíricos.

Observación científica.

El investigador, analiza el fenómeno sin perturbaciones externas, se conoce el objeto y el problema.

La experimentación científica.

Mediante este método el investigador altera y genera modelos para poder comprobar lo ya observado,

pudiendo establecer una teoría.

La medición.

Por medio de este se pueden obtener magnitudes y cualidades de cualquier objeto físico a el cual se le

atribuirán medidas numéricas, estas deben de estar bien estructuradas en cuanto al sistema que se rige el

aparato de medición, quien la va medir y los resultados obtenidos.

El método científico: que es el camino que planea o bien la estrategia que se sigue para descubrir las

propiedades y características varias del objeto de el estudio.

Page 14: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo I.- Estudio del estado del arte. Tipos de metodología.

13

Francis Bacon describe el método científico en 6 pasos los cuales se muestran a continuación:

1. Observación: Observar es aplicar atentamente los sentidos a un objeto o a un fenómeno, para

estudiarlos tal como se presentan en realidad, puede ser ocasional o causalmente.

2. Inducción: La acción y efecto de extraer, a partir de determinadas observaciones o experiencias

particulares, el principio particular de cada una de ellas.

3. Hipótesis: Planteamiento mediante la observación siguiendo las normas establecidas por el método

científico.

4. Probar la hipótesis por experimentación.

5. Demostración o refutación (antítesis) de la hipótesis.

6. Tesis o teoría científica (conclusiones).

Fig.1.1 Modelo simplificado de las etapas del método científico.

Page 15: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

14

“FUNDAMENTOS DE ELECTRONICA

Y MICROCONTROLADORES.”

CAPITULO II

Page 16: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo II.- Fundamentos de electrónica y microcontroladores. Historia de la electrónica.

15

2.1 ELECTRONICA BASICA.

2.1.1 Historia de la electrónica.

La electrónica tiene tres momentos clave los cuales son: el desarrollo de la válvula de vacío, el transistor y la

invención del circuito integrado.

Thomas Alva Edison creador del efecto Edison descubre que los electrones fluyen entre dos electrodos de

metal atreves del vacío en el año 1883.

John Fleming se basa en los experimentos de Edison para inventar su tubo electrónico de dos elementos

llamado Diodo.

Lee De Forest inventa el tubo de tres elementos llamado tríodo en el año 1906 basándose en sus colegas.

Sus principales aplicaciones de estos inventos se dan en las comunicaciones, en inventos como radio

telegráfica, radio telefonía. En 1918 es Edwin Armstrog quien inventa el receptor llamado superheterodino el

cual nos permite seleccionar entre diferentes señales, también invento la modulación en frecuencia en el año

1953, cabe resaltar que no invento el Am ya que en esas épocas ya se tenía la modulación en amplitud o

AM.

En los inicios de las computadoras se debía 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 año 1947 inventan el transistor; este componente actúa con los mismos principios de

funcionamiento que el tubo de vacio el cual es de menor tamaño, consume menor potencia, pesa menos, es

más confiable y su producción se da a un menor costo.

En 1952 Geoffrey W. A. Dummer en los 50´s expone la idea de los circuitos integrados bajo la siguiente

base, unir diodos y transistores en un solo componente.

La electrónica es una especialización de la ingeniería y una rama de la física la cual se enfoca en la

conducción, así como el control del flujo de todas las partículas cargadas eléctricamente.

Para entender de manera simple la electrónica se tendrán que definir 3 principales conceptos los cuales son:

corriente, tensión y resistencia; la corriente eléctrica es generada cuando muchos electrones se mueven a la

vez en la misma dirección para generar un trabajo.

Tensión: es la fuerza con la que son desplazados los electrones entre dos puntos.

Resistencia: es la oposición 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 tensión es igual al producto de la corriente y la resistencia, lo cual podemos expresar

de forma matemática con la siguiente fórmula: V .

Page 17: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo II.- Fundamentos de electrónica y microcontroladores. Componentes básicos de la electrónica.

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 mínima por así decirlo, semiconductores son aquellos que

tienen más oposición 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 básicos de la electrónica.

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 mayoría de los componentes electrónicos respecto a su conducción

de electrones.

Diodo.

El diodo es un elemento que solo permite el flujo de electrones en una sola dirección 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 polarización directa permite el flujo de corriente cuando la tensión rompe la

barrera de saturación permitiendo el flujo de electrones, Diodo en polarización inversa debido al efecto de la

tensión se crea una zona de huecos más grande entre los materiales del diodo lo cual impide el flujo de

electrones.

Fig. 2.1 Símbolo del diodo

Fig. 2.2 Curva característica del Diodo; conectado en polarización directa.

Ánodo Cátodo

Page 18: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo II.- Fundamentos de electrónica y microcontroladores. Componentes básicos de la electrónica.

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 código de

colores.

Fig. 2.3 Símbolo del resistor.

El código de colores indica el valor de la resistencia, sin embargo existe una regla para saber cómo leerlas,

en la figura de abajo se muestra la representación grafica de una resistencia en su forma física y nos indica

cómo obtener su valor mediante el código de colores.

Tabla. 2.1 Código de colores.

Page 19: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo II.- Fundamentos de electrónica y microcontroladores. Componentes básicos de la electrónica.

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 Símbolo de un capacitor.

La mayoría 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 están

hechos de carbón activado y se utilizan para otro tipo de aplicaciones como prototipos de automóviles

eléctricos.

Las características de los capacitores son: capacidad se mide en faradios, tensión de trabajo este punto en

particular es de suma importancia debido a que en caso de sobre pasar este límite nuestro elemento de

trabajo puede explotar o quedar perforado, tolerancia indica el porcentaje que se tiene entre lo que nos

indica el elemento físico 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 varían dependiendo de su forma física y

componentes químicos que lo forman; electrolíticos: el dieléctrico es un papel impregnado en electrolito

siempre indica polaridad y una capacidad mayor a 1 microfaradio, electrolíticos de Tántalo: emplean una

película muy fina de oxido de tantalio amorfo tienen polaridad y capacidad mayor a un microfaradio, poliéster

metalizado: son dos laminas de policarbonato recubierto por un deposito metálico su capacidad es inferior a

un microfaradio, de poliéster: su capacidad máxima es de 470 nanofaradios, similares a los de poliéster en

estructura sin embargo también pueden tener código de colores por lo que reciben el nombre de

condensadores de bandera, de poliéster tubular: mismas características que los dos anteriores diferente

forma física, su apariencia es redonda y alargada, cerámico de lenteja o de disco: son compuestos por

cerámicos y su valor no alcanza un microfaradio, cerámico de tubo: obsoletos debido a que se calientan

mucho y con esto varían sus capacidades.

Page 20: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo II.- Fundamentos de electrónica y microcontroladores. Componentes básicos de la electrónica.

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 física es el mismo

fundamento cuenta con 3 diferentes zonas de saturación y dependiendo de su material serán las

características que tenga y su conexión 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 Símbolo 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 función es emitir o inyectar electrones a la base

Base no se encuentra saturada ya que su función principal es la de dejar fluir la mayor cantidad de

electrones como pueda al colector.

Colector: su función principal es la de colectar la mayor cantidad de electrones provenientes de la base.

El Emisor es la parte más 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 más común

encontrar el uso de este dispositivo para la corrección o aumento de voltaje sin embargo también lo

podemos emplear para aumentar la corriente, como se hace esto, conectándolo 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

Page 21: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo II.- Fundamentos de electrónica y microcontroladores. Componentes básicos de la electrónica.

20

MAX 232.

Este dispositivo nos ayuda a acoplar las señales entre el microcontrolador y el PC, debido a que el

microcontrolador envía datos del orden de 4.5V el MAX 232 los amplifica a 10V, con lo cual nos permite la

comunicación entre estos dispositivos sin problemas.

Este dispositivo se encuentra formado por cuatro conversores de niveles TTL al bus estándar RS232 y

viceversa para la comunicación serial, de estos cuatro conversores 2 son para la conversión RS232 a TTL y

el otro par para la conversión TTL a RS232.

Los niveles TTL o transistor-transistor- lógico, son señales 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 transmisión o recepción, 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, tensión de entrada máxima RS232: +/- 30v, tensión de Salida RS232: +/- 15v.

Fig. 2.6 Diagrama de conexión del MAX 232.

Page 22: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo II.- Fundamentos de electrónica y microcontroladores. Señales digitales y analógicos.

21

2.2 SEÑALES DIGITALES Y ANALOGICAS.

Se tienen 2 tipos de variables a controlar en la industria las cuales son señales digitales y señales

analógicas, las señales analógicas son aquellas que pueden tender a un número infinito y deben de ser

interpretadas mediante un rango de comparación ya sea de voltaje o de corriente también se explica cómo:

la naturaleza es analógica lo cual nos indica que todo intento representativo de ella se torna en una señal

analógica para la industria, las señales digitales son más sencillas y a ventaja de las señales analógicas no

tienden a tener fluctuaciones en su medición solo emitirá un estado ya sea un 0 o un 1,representada en un

código binario, cerrado o abierto. Sin embargo no quiere decir que los estados sean tan simples pueden ser

tan complejos como los analógicos o mas debido a que muchos códigos y representación son ejemplificadas

mediante concentraciones de codificación, una codificación es la representación 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 señales digitales y analógicas de entrada, señales analógicas y

digitales de salida como lo pueden ser válvulas de flujo, actuadores lineales, motores, variadores de

frecuencia, válvulas 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 producción contando con

instrumentos sofisticados de medición y actuadores, es estar dentro de lo posible de tener un control preciso

de nuestro proceso.

Fig. 2.7 sensores y actuadores industriales.

Page 23: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo II.- Fundamentos de electrónica y microcontroladores. Señales digitales.

22

2.2.1 Señales 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 señales analógicas también se puede variar

su intensidad con lo cual podemos tener una señal analógica, los tipos de señal digital tienen ciertas reglas

como el voltaje al cual debe de ser arrancado o encendido esto es un punto fundamental para la elección de

actuadores, indicadores, controles, etc.

Las señales digitales también pueden tener diferentes magnitudes y escalas, entre ellas, con lo cual

podemos definir o dibujar datos para determinar una tendencia a estos tipos de señales no son continuos

pero si varían como se muestra a continuación.

Fig.2.9 representación grafica de una señal digital.

Como se visualiza en la figura anterior el 1 y 0 se va escalando en una sola línea figurando la señal

analógica 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 señal con diferente magnitud, al hablar de una señal digita

debemos de preguntarnos si podemos convertirlas a señales analógicas y esto se puede realizar por medio

de las siguientes técnicas 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 ecuación representa el 1 y si igualamos la misma ecuación con 0 representaría el 0.

Desplazamiento de Frecuencia:

Se representa por 2 frecuencias cercanas a la original.

Page 24: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo II.- Fundamentos de electrónica y microcontroladores. Señales 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 señal digital a una analógica se deberá representar en decimales o bien

haciendo una conversión de binario a decimal con lo cual podemos realizar valores crecientes y

descendientes; es decir si tenemos una barra de led´s con 3 estados los podemos definir con números

binarios teniendo el siguiente orden 111 se cambia a decimal tendríamos un valor de 7; con lo cual

tendríamos 7 diferentes combinaciones.

Al hablar de digital y binario no quiere decir en lo absoluto lo mismo ya que el código binario solo es un

contexto de lo digital, existen otro tipo de conversiones a las cuales se puede cambiar el código binario como

lo es decimal, hexadecimal, octal, estas por lo que se demuestra no tienen nada que ver con lo digital en

cuanto a señal simplemente es un lenguaje que se convierte o se transcribe al entendimiento del ordenador.

A continuación 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 numeración.

Page 25: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo II.- Fundamentos de electrónica y microcontroladores. Señales analógicas.

24

2.2.2 Señales analógicas.

Los tipos de señales analógicas comunes son: la intensidad, presión, tensión, temperatura, mecánica y la

potencia, estos rangos son definidos mediante la amplitud y el tiempo, serán interpretados de acuerdo al

instrumento de medición con el cual se realizara la comparación ya sean respuesta de voltaje (+/-10V, +/-

24V, 0-12V) o de corriente (4-20mA); en caso de hablar de un termómetro que mide de -12 a 50 grados

centígrados se interpretara de la siguiente manera: el valor mínimo del termómetro estará interpretado por

4mA y el valor máximo por 20mA los valores intermedios serán interpolados dependiendo que tan amplio y

preciso sea el rango del instrumento de medición.

Fig. 2.8 representación grafica de una señal analógica.

Dependiendo de la variable a interpretar podemos definir los parámetros mínimos y máximos con los cuales

trabaja nuestra medición ya sean de corriente o voltaje, y estos varearan dependiendo a la continuidad con

la que nuestra señal de referencia este cambiando y la velocidad respecto al tiempo, así mismo nosotros

decidiremos la precisión con la que deseamos trabajar.

Ya que hablamos de la interpretación del valor analógico a través de un valor de voltaje o corriente

definiremos la palabra que describe este fenómeno la cual es Digitalización; es decir la conversión

analógico digital, así mismo existe una definición que describe los valores analógicos como infinitos, cuando

nosotros digitalizamos una señal definimos el numero de valores que le daremos, esto depende de la

resolución que deseamos o la precisión con la deseamos captar la señal. ¿Para qué necesitamos una señal

más precisa? u obtener los cambios mínimos de un sistema o de una señal, cuando tenemos un sistema de

lazo cerrado la más mínima variación es de suma importancia para poder calcular la respuesta del sistema.

Page 26: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo II.- Fundamentos de electrónica y microcontroladores. Microcontroladores, PIC`s.

25

2.3 MICROCONTROLADORES.

Los periféricos son aquellos elementos que brindan una función a la unidad de procesamiento central ya sea

de entrada o de salida, no todos los periféricos son esenciales sin embargo algunos pueden tornarse

fundamentales por el tipo de aplicación que se le da, los periféricos se pueden dividir en cinco categorías

diferentes como lo son:

Periféricos de entrada: son aquellos que colectan, procesan y perciben información, la cual es enviada al la

unidad de procesamiento central para realizar una acción o almacenamiento pertinente según su lógica de

programación.

Periféricos de salida: son aquellos que realizan una acción la cual puede ser: mecánica y visual dentro de lo

visual se incluya toda acción para alertar, informar contextualmente, visualmente o ilustrativamente al

usuario; dentro de lo mecánico se incluye cualquier acción que realice un trabajo.

Periféricos de entrada y salida: como ya se ha visto anteriormente por separado cada término estos

dispositivos realizan la conjunción de los 2 anteriores y en su mayoría son unidades de almacenamiento

puesto que puedes leer y escribir sobre estos.

Periféricos de almacenamiento: simplemente almacenan información por un tiempo indeterminado.

Periféricos de comunicación: son dispositivos que transmiten y reciben información hacia el ordenador ya

sea para trabajar en conjunto o para enviar y recibir datos por separado.

2.3.1 PIC´s

Son encapsulados usados para la programación; cuentan con un sistema mínimo, memoria para encriptar un

programa y datos, conversores analógicos y digital, periféricos de entrada o salida, módulos de

comunicación, estos elementos los hace mejores que los microprocesadores sin embargo son más cerrados

ya que a los microprocesadores se les pueden agregar dispositivos externos para realizar un conjunto más

especifico y dedicado, los microcontroladores cuentan con un set de instrucciones reducido lo cual nos

servirá para la implementación en nuestro proyecto.

Se pueden programar de numerosas maneras sin embargo las más comunes son C, lenguaje ensamblador y

Basic; así como la combinación de estos lenguajes.

Page 27: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo II.- Fundamentos de electrónica y microcontroladores. PIC 16F877A y sus características.

26

La diversidad de PIC´s depende a sus características y potencia, con lo cual podemos elegir dependiendo de

las principales funciones con las que deseamos contar, el presupuesto y la potencia, también se debe tomar

en cuenta los recursos de hardware para la programación 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 traducción entre nuestros componentes de entrada, salida y nuestra PC, algunas de las

características principales del PIC 16F877A es la comunicación serial, la cual será implementada en nuestro

proyecto como acoplador de señales, ya que no contamos con los recursos para emplear componentes de

National Instruments.

2.3.2.1 Características del PIC 16F877A.

Para iniciar la familiarización con este componente procederemos a mencionar sus principales

características:

Procesador de arquitectura RISC avanzada.

Juego de 35 instrucciones con 14 bits de longitud. Todas ellas se ejecutan en un ciclo de instrucción

menos las de salto que tardan 2.

Frecuencia de 20 MHz

Hasta 8K palabras de 14 bits para la memoria de código, tipo flash.

Hasta 368 bytes de memoria de datos RAM.

Hasta 256 bytes de memoria de datos EEPROM.

Hasta 14 fuentes de interrupción internas y externas.

Pila con 8 niveles.

Modos de direccionamiento directo, indirecto y relativo.

Perro guardián (WDT).

Código de protección programable.

Modo Sleep de bajo consumo.

Programación serie en circuito con 2 pines.

Voltaje de alimentación 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 características.

Procesador de arquitectura RISC (Reduced Instruction Set Computer) avanzada.

Se caracteriza por tener un número 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 tuberías a continuación se

muestra un bloque descriptivo de la arquitectura tipo Harvard.

Page 28: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo II.- Fundamentos de electrónica y microcontroladores. PIC 16F877A y sus características.

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 instrucción menos

las de salto que tardan 2.

Tabla. 2.3 Juego de instrucciones del Pic16F877A.

Page 29: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo II.- Fundamentos de electrónica y microcontroladores. PIC 16F877A y sus características.

28

Tabla. 2.3 Juego de instrucciones del Pic16F877A. (Continuación)

Page 30: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo II.- Fundamentos de electrónica y microcontroladores. PIC 16F877A y sus características.

29

Tabla. 2.3 Juego de instrucciones del Pic16F877A. (Continuación)

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 más rápido o más frecuencia

tenga nuestro cristal mayor será la velocidad de respuesta de este.

Hasta 8K palabras de 14 bits para la memoria de código, tipo flash.

En la siguiente figura se muestra el reparto de los 14 bits:

Fig. 2.11 Reparto de los 14 bits por instrucción de PIC16F877A.

El OPCODE especifica la instrucción a la que hace referencia, D la dirección en la que se encuentra, por

ende el lugar en donde afecta directamente la instrucción, 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

propósito Especial y Registros de propósito General estos se derivan de sus siglas en ingles SFR, GFR; los

de función 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.

Page 31: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo II.- Fundamentos de electrónica y microcontroladores. PIC 16F877A y sus características.

30

Hasta 14 fuentes de interrupción internas y externas.

Cuando necesitamos hacer una interrupción, 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 guardián (WDT).

Evita que el programa se quede “colgado” lo cual significa que no responda o se pierda en una instrucción

evitando perder el proceso de información o la secuencia de los datos.

Código de protección programable.

Podemos evitar la lectura del programa una vez cargado, lo cual es útil para evitar su reproducción,

protegiendo los derechos de autor.

Modo Sleep de bajo consumo.

Detiene el Cristal lo cual evita el consumo de energía notablemente.

Programación serie en circuito con 2 patitas.

Podemos interconectar 2 componentes y transmitir datos entre sí.

Voltaje de alimentación comprendido entre 2 y 5.5 voltios.

Este es el valor predeterminado que tiene el componente sin embargo podemos modificarlo

programáticamente.

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 batería.

Page 32: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo II.- Fundamentos de electrónica y microcontroladores. PIC 16F877A y sus características.

31

A continuación se muestra la disposición de pines del componente:

Fig. 2.12 Disposición de los pines del PIC 16F877A.

La descripción de cada una de las terminales de conexión de la figura anterior se muestra en la tabla a

continuación:

Tabla. 2.4 Descripción 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, también se usa como entrada o pulso de grabación al

momento de programar el dispositivo.

RA0/AN0(2) Puede actuar como línea digital de E/S o como entrada analógica del conversor AD (canal 0)

RA1/AN1(3) Similar a RA0/AN0

RA2/AN2/VREF-(4) Puede actuar como línea digital de E/S o como entrada analógica del conversor AD (canal 2) o

entrada negativa de voltaje de referencia

RA3/AN3/VREF+(5) Puede actuar como línea digital de E/S o como entrada analógica del conversor AD (canal 3) o

entrada positiva de voltaje de referencia

RA4/T0CKI (6) Línea digital de E/S o entrada del reloj del timer 0. Salida con colector abierto

RA5/SS#/AN4(7) Línea digital de E/S, entrada analógica o selección como esclavo de la puerta serie síncrona.

RB0/INT(21) Puerto B pin 0, bidireccional. Este pin puede ser la entrada para solicitar una interrupción.

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 programación

RB4(25) Puerto B pin 4, bidireccional. Puede programarse como petición de interrupción cuando el pin

cambia de estado.

RB5(26) Puerto B pin 5, bidireccional. Puede programarse como petición de interrupción cuando el pin

cambia de estado.

RB6/PGC(27) Puerto B pin 6, bidireccional. Puede programarse como petición de interrupción cuando el pin

cambia de estado. En la programación serie recibe las señales de reloj.

Page 33: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo II.- Fundamentos de electrónica y microcontroladores. PIC 16F877A y sus características.

32

Tabla. 2.4 Descripción de cada Pin del PIC 16F877A. (Continuación)

PIN DESCRIPCION

RB7/PGD(28) Puerto B pin 7, bidireccional. Puede programarse como petición de interrupción cuando el pin

cambia de estado. En la programación serie actúa como entrada de datos

RC0/T1OSO/ T1CKI(11)

Línea digital de E/S o salida del oscilador del timer 1 o como entrada de reloj del timer 1

RC1/T1OSI/ CCP2(12)

Línea digital de E/S o entrada al oscilador del timer 1 o entrada al módulo captura 2/salida

comparación 2/ salida del PWM 2

RC2/CCP1(13) E/S digital. También puede actuar como entrada captura 1,/salida comparación 1/ salida de

PWM 1

RC3/SCK/SCL (14)

E/S digital o entrada de reloj serie síncrona /salida de los módulos 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 transmisión de USART asíncrono o como reloj del síncrono

RC7/RX/DT(18) E/S digital o receptor del USART asíncrono o como datos en el síncrono

RD0/PSP0- RD7/PSP7 (19-22, 27-30)

Los ocho pines de esta puerta pueden actuar como E/S digitales o como líneas para la

transferencia de información en la comunicación de la puerta paralela esclava. Solo están

disponibles en los PIC 16F874/7.

RE0/RD#/AN5 (8)

E/S digital o señal de lectura para la puerta paralela esclava o entrada analógica canal 5.

RE1/WR#/AN6 (9)

E/S digital o señal de escritura para la puerta paralela esclava o entrada analógica canal 6.

RE2/CS#/AN7 E/S digital o señal de activación/desactivación de la puerta paralela esclava o entrada analógica

canal 7.

VSS(8,19) Tierra.

VDD(20,32) Fuente (5V).

Debido a que nuestro tema de interés es el modulo de comunicación Asíncrona solo se hará énfasis en este

tema.

Page 34: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo II.- Fundamentos de electrónica y microcontroladores. PIC 16F877A y sus características.

33

Comunicación asíncrona.

El PIC16F877A cuenta con un modulo de comunicación serial el cual puede transmitir y recibir datos, lo que

se le llama comunicación asíncrona, la comunicación síncrona es el envió o recepción de datos. Nosotros

trabajaremos con la comunicación asíncrona la cual se comunica por los pines RC6/TX Pin 6 del puerto C y

el RC7/RX Pin 7 del puerto C; la comunicación está basada en la normatividad RS-232-C la cual

emplearemos para nuestros fines, a este modulo también lo llaman USART y tiene los siguientes elementos:

Generador de Baudios.

Circuito de muestreo.

Transmisor Asíncrono.

Receptor Asíncrono.

A continuación se describen cada uno de los elementos:

Generador de Baudios.

Como ya se menciono la comunicación de este puerto es bajo la norma RS-232 la cual tiene una velocidad

estandarizada para la comunicación 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 pequeño calculo para saber el valor

correspondiente, a este valor se le llama “X” y está cargado en el registro SPBRG, también 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 parámetro debemos de obtener el valor de la constante “K” la cual nos ayuda en la obtención de la

frecuencia de funcionamiento; teniendo estos parámetros bien definidos procedemos a calcular el valor con

la siguiente fórmula:

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.

También contamos con una tabla la cual establece el valor de la Frecuencia a baja y a alta velocidad:

Page 35: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo II.- Fundamentos de electrónica y microcontroladores. PIC 16F877A y sus características.

34

Tabla 2.5 Velocidad baja de transmisión del PIC16F877A.

Tabla 2.6 Velocidad alta de transmisión del PIC16F877A.

Page 36: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo II.- Fundamentos de electrónica y microcontroladores. PIC 16F877A y sus características.

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 apóstrofos y habremos seleccionado un valor

de Transmisión; 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 transmisión de datos, primero se

deposita el dato en la sección TXREG, después al registro TSR el cual se encarga de enviar los datos bajo

la norma RS-232, una vez hecho esto el registro RSR los envía al registro RCREG el cual coloca a

disposición las bits para su procesamiento.

Para facilitar el entendimiento se explica la transmisión mediante un diagrama:

Fig. 2.13 Diagrama por Bloques de la transmisión del PIC16F877A.

Como se muestra en la figura anterior el TSR es el núcleo de la comunicación 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 transmisión de deben de especificar ciertos valores en su registro los

cuales se muestran a continuación:

Tabla 2.7 Bits para Configurar la transmisión del PIC16F877A.

Su respectivo modo de configuración:

Bit 7 CSRC: bit de selección de reloj:

Modo asíncrono: no incluye

Modo síncrono

1 = Modo maestro (reloj generado internamente desde BRG)

0 = Modo esclavo (reloj generado por una fuente externa)

Page 37: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo II.- Fundamentos de electrónica y microcontroladores. PIC 16F877A y sus características.

36

Bit 6 TX9: Habilita el bit 9 de transmisión:

1 = Selecciona transmisión de 9 bits

0 = Selecciona transmisión de 8 bits

Bit 5 TXEN: Activa la transmisión:

1 = Transmisión activada

0 = Transmisión desactivada

Nota: SREN/CREN anula TXEN en modo síncrono.

Bit 4 SYNC: Bit de selección del modo del USART:

1 = Modo síncrono

0 = Modo asíncrono

Bit 3 No implementado: Leído como '0'.

Bit 2 BRGH: Bit de selección de la velocidad de baudios:

Modo asíncrono:

1 = Alta velocidad

0 = Baja velocidad

Modo Síncrono:

No se usa en este modo

Bit 1 TRMT: Bit de estado del registro de desplazamiento de transmisión:

1= TSR vacío

0 = TSR no vacío

Bit 0 TX9D: Bit 9 del dato a transmitir (puede ser el bit de paridad).

Ahora como ya se dijo tenemos la comunicación Asíncrona con lo cual procederemos a ejemplificar la

recepción una vez que ya hemos asociado la transmisión.

Fig. 2.14 Diagrama por Bloques de la recepción del PIC16F877A.

Page 38: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo II.- Fundamentos de electrónica y microcontroladores. PIC 16F877A y sus características.

37

Podemos declarar que el núcleo de la recepción es el registro RSR el cual contiene la recepción 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 lógico lo cual indica que la transmisión 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 más 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 transmisión.

Para poder configurar la recepción y transmisión debemos de tomar en cuenta las siguientes tablas:

Tabla 2.8 Bits para Configurar la recepción del PIC16F877A.

Su respectivo modo de configuración

Bit 7 SPEN: Habilitación 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 recepción:

1 = Selecciona recepción de 9 bits

0 = Selecciona recepción de 8 bits

Bit 5 SREN: Configura la recepción sencilla:

Modo asíncrono no incluye

Modo síncrono maestro

1 = Habilita recepción sencilla

0 = Deshabilita recepción sencilla

Modo síncrono esclavo no se utiliza

Bit 4 CREN: Configura la recepción continua:

Modo asíncrono:

1 = Habilita modo de recepción continua

0 = Deshabilita recepción continua

Modo síncrono:

1 = Habilita recepción continua hasta que el bit CREN es borrado

0 = Deshabilita recepción continua

Page 39: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo II.- Fundamentos de electrónica y microcontroladores. PIC 16F877A y sus características.

38

Bit 3 ADDEN: Detección de dirección:

Modo asíncrono con 9 bits (RX9 = 1):

1 =Activa la detección de dirección, activa la interrupción y descarga el buffer de recepción al activarse

RSR<8>

0 =Desactiva la detección de dirección, 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 válido

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 características y el modo de configuración de los registros procedemos a

realizar, según las necesidades de la aplicación, nuestro programa para poder recibir y transmitir datos por el

puerto serial, debemos de definir cuáles son las principales características de nuestro programa para poder

llevar a cabo el programa, ya que si no identificamos adecuadamente los pasos a seguir perderemos

bastante tiempo divagando.

Page 40: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo II.- Fundamentos de electrónica y microcontroladores. Tipos de comunicación, comunicación serial.

39

2.4 TIPOS DE COMUNICACIÓN.

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 menús, alarmas, indicadores, controles, despliegue de datos relevantes, algunas opciones de

configuración general de la maquina entre otros; la importancia de una buena interfaz define la eficiencia de

la misma en lo que refiere a la operación, dependiendo de las herramientas que te brinde la interfaz,

respecto a sus componentes, será la optimización de la operación o funcionalidad de esta y entre mas

variables del proceso cubra la interfaz podremos entender y visualizar más eficazmente su funcionamiento.

Los gráficos 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 deberán de visualizar las principales variables o variables clave

las cuales son de mayor importancia ya que las demás estarán en conjunto con algún indicador o

controlador en su lógica de programación.

Así como se puede llamar un grafico de control como interfaz, también podemos llamar una interfaz a los

sensores que están comunicando o transmitiendo su estado a la unidad de procesamiento central, esta

señal podrá ser censada directamente a un grafico o analizada y procesada por la lógica de programación

de nuestra unidad lógica.

La comunicación entre el ordenador o unidad de procesamiento central llamada puerto serie también es una

forma de interfaz, la cual transmite bit a bit de manera secuencial y es la que utilizaremos.

2.4.1 Comunicación serial.

La comunicación serial es un protocolo de comunicación, no es directamente o particularmente un elemento

físico, la comunicación serial transmite un bit a la vez y puede alcanzar distancias prolongadas, su código de

transmisión es en código ASCII; para realizar la comunicación se utilizan 3 terminales GND tierra o

referencia, TXD transmisión, RXD recepción de datos.

Cuando la comunicación es asíncrona podemos estar enviando y recibiendo datos por las terminales ya

antes mencionadas sin embargo es necesario establecer ciertos valores o parámetros de comunicación

como son la velocidad de transmisión, bits de datos, bits de parada y paridad.

La velocidad de transmisión o Baud Rate.

Esto indica el número 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 relación es 1-1 este valor nos indica la

frecuencia con la que se estará muestreando.

Page 41: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo II.- Fundamentos de electrónica y microcontroladores. Tipos de comunicación serial.

40

Bits de datos.

Es el numero de bits que se transmite por ejemplo el código 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 transmisión y de cierta manera es un

control para la sincronización de los ciclos de reloj.

Paridad.

Nos indica si existen errores en la transmisión 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 comunicación serial.

RS-232.

Estándar ANSI/EIA 232; Es el conector hallado en la PC y se utiliza para conectar periféricos e

instrumentación ya sea para un control o aplicación, a lo largo de los años se han dado numerosas mejoras

las cuales nos han brindado mayor rapidez y se ha prolongado la distancia en la comunicación por medio de

este dispositivo físico de comunicación.

Conector DB9.

Cuenta con 9 pines de los cuales nosotros solo usaremos 3 el pin 3, 2 y 5 los cuales respectivamente son

TXD transmisión de datos, RXD recepción de datos, GDN tierra o referencia.

Fig. 2.15 Conector DB9.

RS-422.

La diferencia entre la comunicación RS-232 es la distancia y la inmunidad al ruido, estas características lo

convierten en una ventaja en la utilización de la industria, una características más es que se usa en las

computadoras Apple de Macintosh.

Page 42: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo II.- Fundamentos de electrónica y microcontroladores. Tipos de comunicación serial.

41

RS-485

Es una mejora a la RS-422, sin embargo en esta podemos incrementar el número de dispositivos que se

pueden conectar, esta características es bastante útil para poder conectar varios dispositivos sobre un

mismo puerto con lo cual se crean redes de comunicación, nos brinda la posibilidad de conectar dispositivos

bajo la norma RS-422.

Handshaking intercambio de pulsos de sincronización.

Cuando comenzamos a tener problemas debido a sobrecargas en la transmisión de datos el Handshaking

entra en acción, este fenómeno se da en el momento que la sincronización de velocidades no es suficiente,

existen tres tipos de Handshaking los cuales se explican a continuación:

Handshaking por software:

Por medio de caracteres enviados a través de software, como si fuesen datos, utilizados como datos de

control en la comunicación establece la manera de trabajar del canal serie, una desventaja grande es que al

trabajar con datos binarios los caracteres que asimilen los números 17 y 19 serán leídos como instrucciones

de control y nuestra comunicación falle.

Handshaking por Hardware:

Este método se basa en las líneas 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 comunicación.

Handshaking por XModem:

Este método es más específico, debido a que no todos los dispositivos de comunicación lo ocupan o lo

conocen si quiere, esto se debe a que solo se emplea en los Módems.

Puerto USB (Universal Serial Bus):

Puerto de gran velocidad para comunicar computadoras y periféricos soporta transferencias de hasta

12Mbps. Un sólo puerto USB permite ser usado para conectar más de 127 dispositivos periféricos.

Page 43: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

42

“LENGUAJES DE PROGRAMACION

Y LabVIEW.”

CAPITULO III

Page 44: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo III.- Lenguajes de programación y LabVIEW. Tipos de lenguaje de programación.

43

3.1 TIPOS DE LENGUAJES DE PROGRAMACION.

Tipos de programación.

Los tipos de programa que existen son variados sin embargo en base al método que se desee aplicar o

técnica será la manera en la que se presentara la solución a la problemática, 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.

Programación modular.

La programación modular se base en un modulo central el cual recolectara la información de los sub-

módulos que lo forman transmitiendo la información en parámetros, retroalimentados y coordinados por el

modulo central, sin embargo estos sub-módulos pueden contener otros y pasan a ser centrales de los

propios.

Fig. 3.1 Programación modular.

Programación orientada a objetos.

La programación orientada a objetos se basa en los polimorfismos y la herencia, este tipo de características

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 Programación orientada a objetos.

Page 45: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo III.- Lenguajes de programación y LabVIEW. Tipos de lenguaje de programación.

44

Programación concurrente.

Es la simultaneidad en la ejecución de múltiples tareas a la vez de diferentes usuarios, esto involucra una

programación bastante extensa y tediosa con lo cual obtendremos poca rapidez al realizar acciones sobre el

programa, se encuentran más comúnmente en redes de computadores distribuidos.

Fig. 3.3 Aplicación de programación concurrente.

Programación funcional.

Su principal función es la de llamar y declarar funciones dentro de otras funciones del tipo aritmético, este

tipo de programación tiene sus raíces en el cálculo Lambda, las características principales de este tipo de

programación son: no usan variables, no tienen iteraciones, no usan estructuras, solo se usan funciones

recursivas, solo se usan definiciones de funciones.

Programación Lógica.

La inteligencia artificial emplea este tipo de programación debido a que dependiendo de diferentes variables,

datos, circunstancias o acciones el ordenador pueda dar soluciones inteligentes, esto se logra mediante

teorías y cálculos matemáticos los cuales por medio de datos predestinados en el ordenador toma

decisiones y anticipa movimientos o acciones.

Fig. 3.4 Programación lógica.

Page 46: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo III.- Lenguajes de programación y LabVIEW. Tipos de lenguaje de programación.

45

Comenzaremos dando algunas definiciones las cuales son: Tecnología es el empleo de la ciencia y la

técnica para obtener beneficios y servicios los cuales cumplan las expectativas de las necesidades y de los

seres humanos.

Programación: es la planeación y coordinación de un proyecto así como el resultado del mismo, el

instrumento que ejecuta las tareas automatizadas dentro de un sistema informático, las herramientas que

emplearemos para estructurar la lógica 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.

Metodología de la programación: es el conjunto de criterios, métodos y descripciones pertinentes que nos

indiquen la forma de desarrollar un programa.

Lenguaje de programación: es la sintaxis y reglas que los programadores emplean para la codificación de

instrucciones o algoritmo de programación.

Entorno de programación: son las herramientas empleadas para el desarrollo de un programa.

Recursos son aquellos periféricos que se utilizan para la elaboración de un programa.

Page 47: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo III.- Lenguajes de programación y LabVIEW. Evolución de los lenguajes de programación.

46

3.2 EVOLUCION DE LOS LENGUAJES DE PROGRAMACION.

Dividiremos en 5 generaciones los lenguajes de programación.

Primera generación: 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 están codificados, provenientes de una lectura de voltaje; a este tipo de codificación o 1 y 0

se les denomina instrucción, cada instrucción realiza una acción y a este conjunto de acciones se les

denomina lenguaje maquina, un tipo de instrucción puede tener una secuencia infinita de 1 y 0 ejemplo

11100001001011000011, cada instrucción puede contener miles de este tipo de codificaciones por lo cual es

sumamente tedioso y problemático encontrar errores en un programa simple.

Ahora con el transcurso de este desarrollo se dedujo que la maquina nos puede ayudar para facilitar la

programación y se crearon grupos alfabéticos llamados mnemotécnico estos no son más que palabras, por

así llamarlas, definidas en el ordenador las cuales ya están codificadas y de este tipo de palabras se

desprenden las instrucciones.

Segunda generación: 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 lógica, como por ejemplo, definir el tema que se emplea entrar en el

tema, estipular las herramientas del tema a emplear etc.…, este tipo de instrucción no nos aleja del principal

objetivo a comparación con del lenguaje maquina debido a que no nos tenemos que ocupar de la

codificación de 1 y 0; digamos que las instrucciones son nuestros medios de comunicación 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 instrucción que se emplea, Opcode es el portador del

mnemónico de la instrucción o la directiva del ensamblador, Operandos es la ejecución que realiza,

comentario no es necesario sin embargo sirve para orientar al programador, Directivas no tienen una

codificación 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 algún dato, Interrupciones nos permiten generar excepciones o situaciones las

cuales pueden ser ajenas o internas según el origen que se les demande.

Tercera generación: se crean los primeros lenguajes de alto nivel.

Los lenguajes de alto nivel buscan independizar la máquina 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 continuación de describen algunos:

FORTRAN abreviatura de Formula Translator es desarrollado por IBM en el año 1955 es el primer lenguaje

de alto nivel, su principal función esta en ciencia matemática debido a su potencia para resolver cálculos

Page 48: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo III.- Lenguajes de programación y LabVIEW. Evolución de los lenguajes de programación.

47

matemáticos sin embargo poco eficiente para la elaboración de programas orientados a gestiones de

archivos y tratamiento de cadenas, su evolución fue orientada a sus debilidades, lo que indica que en el año

1977 era más eficiente en la gestión de archivos y tratamiento de cadenas de caracteres.

COBOL (Common Business Oriented Language) lo desarrolla el comité CODASYL en el año 1960, lo

patrocino el departamento de defensa de los estados unidos con el propósito de obtener una herramienta

eficaz en la gestión de archivos.

PL/1 (Programming Language 1) lo desarrolla IBM en los 60´s con el objetivo de obtener un programa más

general a los existentes en esa época tanto una herramienta para el cálculo matemático como una

herramienta en la gestión de archivos como: formato de escritura, soporta la programación estructurada y el

diseño modular, a lo anterior, al tratar de tener una programación mas general se pierde eficiencia en cada

función particular.

BASIC (Benginner´s 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 Código de instrucción simbólico de propósito general para principiantes; este lenguaje es útil para el

desarrollo de aplicaciones técnicas y de gestión, el nacimiento de esta herramienta aunado a los

lanzamientos de microcomputadoras y computadoras personalizadas permite una gran extensión de su

implementación.

PASCAL su nombre es destinado por el filosofo y matemático francés del siglo XVII Blaise Pascal inventor

de la primera máquina del tipo mecánico para sumar; el creador del lenguaje es el matemático suizo Niklaus

Wirth en 1970 fundamentado en el lenguaje AL-GOL, su principal objetivo del matemático suizo era el de

enseñar los conceptos y técnicas de programación, se ha empleado mayoritariamente en el desarrollo de

aplicaciones de propósito general entre las que destacan los diseños de gráficos y la programación de

sistemas.

C el lenguaje está basado en el trabajo de Ken Thompson sin embargo su diseñador fue Dennis Ritchie en el

año 1972, el principal objetivo de este lenguaje era la introducción de un sistema operativo llamado UNIX, es

por esto que era principalmente orientado a la programación de sistemas, no obstante se ha empleado en

las aplicaciones técnico-científicas, de gestión, creación 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

programación de propósito general el cual reuniera las herramientas más potentes de los existentes y las

cualidades más efectivas de estos; es publicado en 1983 con las siguientes características: programación

Page 49: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo III.- Lenguajes de programación y LabVIEW. Evolución de los lenguajes de programación.

48

concurrente, compilación separada, programación estructurada, tipos abstractos de datos, libertad de

formato de escritura, etc., su mayor inconveniente es su gran extensión.

Cuarta generación.

Son los lenguajes capaces de generar código por si solos, son llamados RAD (Desarrollo Rápido 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 más

compleja la programación mediante el uso de utilidades CASE (Computer Aided Software Engineering ó

Ingeniería de Software Asistida por Computadora) son aplicaciones predeterminadas las cuales nos brindad

herramientas más eficientes sin tener que realizarlas nosotros mismos estructuras extensas de código, como

por ejemplo una plantilla, un tema, un termómetro o cualquier objeto predeterminado que obtengamos de un

paquete o librería; los inicios de estas herramientas informáticas 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 año 1984 al

mercado; este tipo de herramientas se desarrollaron en los años 90`s y en adelante, el tipo de herramientas

es útil para cada etapa del software y con diferentes tipos.

Quinta generación.

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 programación más antiguos

en efecto solo el lenguaje FORTRAN es más antiguo que este, sin embargo este lenguaje a evolucionado

tanto que se aplica para realizar aplicaciones relacionadas al lenguaje artificial; su fundamento de

programación es mediante listas lo cual deriva del nombre LISP “List Processing” el código de este programa

está basado en listas con lo cual podemos manejar el código como una estructura de datos, esta

generación se basa en procesar información 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 inserción son:Lingüística

computacional, Minería de datos, Industriales, Médicas, Mundos virtuales, Procesamiento de lenguaje

natural, Robótica, Meca trónica, Sistemas de apoyo a la decisión, Videojuegos, Prototipos informáticos,

Análisis de sistemas dinámicos.

Page 50: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo III.- Lenguajes de programación y LabVIEW. Metodología de la programación.

49

Metodología de la programación.

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 más simple para la solución de nuestro

problema, las herramientas que se emplean para este tipo de soluciones simples y efectivas son las

diagramas de flujo los cuales nos guían en la elaboración y ejecución de programa mediante gráficos

estandarizados los cuales se muestran a continuación:

Ovalo indica el inicio de un proceso.

Rectángulo representa una o más actividades.

Rombo representa una decisión la cual puede tener 2 caminos y en su mayoría u totalidad de las ocasiones

cada camino es representado por un sí o no.

Circulo representa una unión 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

panorámico 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

arquitectónico: nos muestra la sucesión de pasos o lugares en los cuales debemos de encontrarnos de

forma cronología dentro de un área determinada.

Page 51: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo III.- Lenguajes de programación y LabVIEW. Niveles de lenguajes de programación.

50

3.2.1 Niveles de lenguajes de programación.

Existen 3 tipos de lenguajes de programación: bajo nivel, nivel medio y alto nivel

Nuestro ordenador solo entiende por medio de 0 y 1 a lo que se le llama código binario o código maquina lo

cual nos indica que entiende por medio de codificaciones basadas en 0 y 1, Los lenguajes de programación

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 más 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 máximo sus funciones.

Lenguaje maquina: ordena al dispositivo las operaciones esenciales de su funcionamiento y consiste en la

combinación de 0 y 1 los cuales están codificados para que el hardware entienda, por lo consiguiente es te

tipo de lenguajes es más rápido que los de alto nivel sin embargo son bastantes tediosos de manejar y

emplear además de que su estructura es bastante extensa por ende su análisis para encontrar fallos es muy

compleja.

Page 52: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo III.- Lenguajes de programación y LabVIEW. Niveles de lenguajes de programación.

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 EDD´s

(Estructuras Dinámicas de Datos; este tipo de estructuras cambian de tamaño durante la ejecución 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 código, solo

es necesario emplear un tipo de traductor o plataforma para que la maquina pueda entender el programa a

estos tipos de programación se le pueden dar objetivos específicos o generales según sea la necesidad a

cubrir, no obstante dependerá del tipo de propósito 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 definición especifica debido a que interactúan con los tipos de programación a que se refiere;

por ejemplo podemos tener C el cual es un lenguaje que interactúa 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.

Page 53: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo III.- Lenguajes de programación y LabVIEW. LabVIEW.

52

3.3 LabVIEW

¿Qué es LabVIEW?

LabVIEW es un lenguaje de programación grafico potente en la adquisición, control y supervisión de datos

digitales y analógicos, versátil en su gama de hardware con la que puede trabajar sin dejar atrás su inmensa

biblioteca en software para el análisis avanzado de datos, facilitación de la lógica de control en la

programación, así como de la visualización 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 líder de la industria

moderna por su alto desempeño en el análisis y procesamiento de datos, control de instrumentos,

automatizar sistemas de prueba y validación, medidas industrial y control, diseñar sistemas embebidos,

enseñanza e investigación académica, etc.…, cabe resaltar que LabVIEW conecta prácticamente cualquier

dispositivo de censado y herramienta de diseño para obtener procesos confiables y precisos.

Page 54: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo III.- Lenguajes de programación y LabVIEW. LabVIEW.

53

Amplitud de NI-hardware.

Con extensa gama de hardware para la adquisición de datos ya sea portable, de escritorio, industrial, y

tecnología embebida, su gran variedad de drivers de comunicación, National Instruments nos ofrece otras

tecnologías de medición, control, comparación, ajuste de sensores y comunicación con PLC en sus

periféricos y tarjetas de adquisición, todo esto para facilitar la implementación de una potente herramienta en

el ámbito actual no solo industrial sino científico y académico.

Fig. 3.8 Innovación 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 día a día con la

inmensa gama de herramientas que nos brinda National Instruments.

Fig. 3.9 Hardware de LabVIEW.

Page 55: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo III.- Lenguajes de programación y LabVIEW. LabVIEW.

54

Familia de productos de NI LabVIEW.

Este tipo de productos entiende todos los tipos de extensión hacia el software LabVIEW en tareas

específicas las cuales se describen brevemente a continuación:

Juegos de herramientas (Toolkits) y módulos adicionales.

Vea más recursos en prácticamente cada producto en la familia de LabVIEW o evaluar software

inmediatamente al descargar una prueba de 30 días completamente funcional.

Diseño embebido.

Utilice LabVIEW para diseñar, 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.

Módulos y juegos de herramientas (Toolkits) para diseño embebido:

Módulo LabVIEW Real-Time

NI Real-Time Execution Trace Toolkit

Módulo LabVIEW FPGA

Módulo LabVIEW Microprocessor SDK

Módulo LabVIEW Statechart

Módulo LabVIEW Mobile

Módulo LabVIEW DSP

Módulo LabVIEW Embedded para

Microcontroladores ARM

Diseño de control y simulación.

Combine el desarrollo de algoritmos, análisis y visualización en LabVIEW con herramientas para

identificación de sistemas, diseño de control, simulación e implementación.

Módulos y juegos de herramientas (Toolkits) para diseño de control y simulación:

Módulo LabVIEW Control Design and

Simulation

LabVIEW PID Control Toolkit

Módulo LabVIEW Real-Time

Real-Time Execution Trace Toolkit

Módulo LabVIEW FPGA

Módulo LabVIEW Statechart

LabVIEW Simulation Interface Toolkit

LabVIEW System Identification Toolkit

Page 56: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo III.- Lenguajes de programación y LabVIEW. LabVIEW.

55

Procesamiento de imágenes y señales.

Incorpore cientos de funciones de procesamiento de imágenes y señales específicas para aplicaciones en

sus aplicaciones de LabVIEW.

Módulos y juegos de herramientas (Toolkits) para procesamiento de imágenes y señales:

Módulo Visión Development para LabVIEW

Módulo LabVIEW MathScript RT

LabVIEW Advanced Signal Processing Toolkit

LabVIEW Digital Filter Design Toolkit

LabVIEW Adaptive Filter Toolkit

Paquete de Medida de Sonido y Vibración

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 automatización programables (PACs) para crear sistemas

distribuidos de monitoreo, control y conectarse a sus controladores de lógica programable (PLCs) existentes

y sistemas empresariales.

Módulos y juegos de herramientas (Toolkits) para monitoreo y control industrial:

Módulo LabVIEW Real-Time

Real-Time Execution Trace Toolkit

Módulo LabVIEW FPGA

Módulo LabVIEW Datalogging and Supervisory

Control

Módulo LabVIEW Touch Panel

Módulo LabVIEW Statechart

NI Motion Assistant

Módulo LabVIEW NI SoftMotion

Desarrollo e implementación de software.

Desarrollo e implementación profesional, aplicaciones de LabVIEW de la más alta calidad usando una

variedad de herramientas de ingeniería de software.

Módulos y juegos de herramientas (Toolkits) para desarrollo e implementación de software:

LabVIEW Application Builder para Windows

LabVIEW VI Analyzer Toolkit

Módulo LabVIEW Statechart

LabVIEW Desktop Execution Trace Toolkit

Paneles Remotos de LabVIEW

NI Requirements Gateway

LabVIEW Unit Test Framework Toolkit

Page 57: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo III.- Lenguajes de programación y LabVIEW. LabVIEW.

56

Generación de reportes y almacenamiento de datos.

Módulos y juegos de herramientas (Toolkits) para generación 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 programación grafico por lo cual llamaremos a cada programa instrumento

virtual debido a que su funcionamiento y apariencia simulan herramientas físicas como lo pueden ser:

sensores, osciloscopios, actuadores eléctricos, válvulas de paso, bombas, tuberías, 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 código o lógica de

programación por medio de funciones y estructuras las cuales controlan los elementos del PANEL

FRONTAL; para realizar VI´s 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 SubVI´s.

Ambiente de programación.

En la actualidad se necesitan optimizar los procesos industriales al máximo, para esto no solo se necesitan

excelentes y precisos instrumentos o actuadores sino una lógica de programación bastante detallada, en

cualquier lenguaje de programación basado en comandos o en texto se tiende bastante tedioso, ya que se

necesitan miles de líneas de código para lograr objetivos ambiciosos en la optimización de un proceso, con

el software LabVIEW este desarrollo se torna fácil ya que por medio de gráficos obtendremos complejos

desarrollos o análisis con solo cablear un icono, lo cual nos brinda más tiempo para poder pensar en cómo

mejorar la lógica de programación sin tener que pasar horas escribiendo el código.

Page 58: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo III.- Lenguajes de programación y LabVIEW. LabVIEW.

57

Tipos de datos

LabVIEW trabaja de una manera simple ya que tú seleccionas el tipo de control, función, indicador,

estructura o cualquier función 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 también podemos

convertir el tipo de dato a otros.

Fig. 3.10 Tipos de datos en LabVIEW.

Como todo código de programación tiene estructuras, ciclos, sentencias, funciones las cuales pueden

interactuar entre sí en este lenguaje de programación la única limitación es tu mente y el proceso, y

dependiendo al tipo de datos que se estén procesando serán las variables con las que se cuentan para

realizar análisis.

Fig. 3.11 Iconos gráficos de programación.

Page 59: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo III.- Lenguajes de programación 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 versión del programa, dependiendo de la versión con la que se cuente serán el número y el tipo de

librerías que se tienen para realizar aplicaciones más avanzadas de manera más rápida y eficiente, no

obstante estas se pueden desarrollar construyéndolas nosotros mismos, LabVIEW cuenta con diferentes

módulos de programación los cuales se adquieren por separado del programa, estos módulos nos brindan

mas herramientas para poder realizar programas más complejos y eficientes de manera más sencilla y

rápida 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 información que

debe de analizar y el programa realiza todo el procedimiento perfectamente, como esta herramienta

podemos encontrar una diversidad bastante extensa tanto para la programación en el Diagrama de Bloques

como para realizar gráficos de control en el Panel Frontal, comunicarnos mediante internet, analizar

variables de estado, realizar alarmas, crear historiales mediante las herramientas de Microsoft, etc.

Page 60: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo III.- Lenguajes de programación 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 continuación:

Fig. 3.14 Barra de menú.

A: File; nos puede abrir o crear un Instrumento Virtual.

B: Operate; es una conexión rápida a una fuente como un Field Point.

C: Tools; en esta opción podemos desplegar herramientas para la configuración 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 implementación

de la herramienta a buscar.

A B

C D

Page 61: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo III.- Lenguajes de programación 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 guía 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”

Page 62: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo III.- Lenguajes de programación y LabVIEW. LabVIEW.

61

F: Brinda una conexión rápida con National

Instruments en la web, en la cual encontraremos

preguntas frecuentes y foros de discusión los cuales

nos ayudan en la construcción 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 `programación del software.

Fig. 3.20 Sub-menú “Examples”.

¿Cómo crear un Instrumento Virtual?

Desde este punto abreviaremos los Instrumentos Virtuales como VI´s o VI por sus siglas en ingles VIRTUAL

INSTRUMENT´S contamos con numerosas maneras de iniciar un VI a continuación 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 lógica de programación y donde podremos identificar posibles problemas con nuestro programa,

a continuación 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 gráficos, LED´s 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 código, empleando representaciones gráficas

de funciones para controlar los objetos del panel frontal.

Page 63: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo III.- Lenguajes de programación y LabVIEW. LabVIEW.

62

Fig. 3.21 Panel Frontal

A continuación 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 diseñar 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 botón nos ayuda para

definir cuales estarán enfrente y cuales atrás.

Page 64: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo III.- Lenguajes de programación 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 básicas de este botón.

Edit: Nos permite buscar y modificar archivos junto con sus componentes

View: nos visualiza los controles e indicadores herramientas para la personalización del VI entre otros.

Project: Inicia, abre o guarda un proyecto.

Operate: Opciones para controlar la operación 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 información completa del programa, de sus componentes, soporte técnico de National

Instruments así como la explicación y las características 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 diseño 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 diseñador.

Fig. 3.22 Paleta “Controls”.

Page 65: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo III.- Lenguajes de programación y LabVIEW. LabVIEW.

64

El Diagrama de bloques contiene código fuente gráfico. 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 continuación 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 ejecución animada, la cual visualiza, el flujo de los datos en el

programa; esto es sumamente eficaz para identificar problemas en la programación.

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 acción siguiente y da una pausa.

Step out: Termina la ejecución en curso y pausa la misma.

Page 66: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo III.- Lenguajes de programación y LabVIEW. LabVIEW.

65

La paleta “FUNCTIONS” contiene todas las funciones,

estructuras, formulas, simuladores, etc..., los cuales nos

facilitan la programación de nuestros Instrumentos

Virtuales.

Cabe resaltar que dependiendo la función que se elija

será el tipo de datos que fluirán 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

facilitación de la programación 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

mecánicos, para agregar notas, para cablear o conectar, visualizar las paletas de funciones

y controles, para seleccionar una porción de la pantalla, para colocar break points, probe

data y personalizar colores de las pantallas.

Fig. 3.25 “Tools”.

Page 67: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo III.- Lenguajes de programación y LabVIEW. Aplicación de simulación en LabVIEW.

66

3.3.1 Aplicación de programación 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 pequeño programa para aterrizar los conocimientos

adquiridos, mediante el programa tome rango de dificultad se irán aclarando y aprendiendo más

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 continuación 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 código se realizara con funciones

Booleanas como son OR, AND, NOT, etc.….

La función será la siguiente; cualquier botón

enciende o apaga el “led” según 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

Page 68: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo III.- Lenguajes de programación y LabVIEW. Aplicación de simulación 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.

Page 69: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo III.- Lenguajes de programación y LabVIEW. Aplicación de simulación en LabVIEW.

68

2.1 A continuación aparecerán 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”.

Page 70: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo III.- Lenguajes de programación y LabVIEW. Aplicación de simulación en LabVIEW.

69

Para desplegar las opciones de controles e indicadores posicionaremos el cursor sobre la categoría en la

que estemos interesados, esta acción desplegara más opciones como se muestra a continuación.

Fig.3.31 Despliegue de la paleta “Controls”.

Como se observa en la pantalla solo necesitamos posicionar el cursor sobre la categoría de interés y este

desplegara un submenú; Para seleccionar algún control o indicador se hace clic sobre él y este aparece

sobre el Panel Frontal, cada elemento que se desee emplear en la construcción 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 aplicación.

Para visualizar los Sub-

menús, posicionamos el

cursor sobre el menú de

interés.

Para agregar

elementos se tienen

que seleccionar de la

paleta controls o si

son de la misma

clase se copian y se

pegan.

Page 71: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo III.- Lenguajes de programación y LabVIEW. Aplicación de simulación 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, automáticamente aparecen los

gráficos del panel frontal como iconos los cuales nos indican que función estarán desempeñando. 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 guía para saber

con qué elementos se puede llevar a cabo la conexión y la lógica de programación.

También existen algunos elementos que no aparecen en el Panel Frontal; posicionándolos en el Diagrama

de Bloques, algunos, muy contados, que colocándolos en el Panel Frontal no aparecen con alguna función

en el Diagrama de Bloques.

Fig.3.33 Diagrama de Bloques de la aplicación.

Page 72: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo III.- Lenguajes de programación y LabVIEW. Aplicación de simulación en LabVIEW.

71

Existen numerosas funciones del tipo “Boolean”, sin embargo usaremos las de la paleta “Boolean” para

realizar nuestro ejemplo, a continuación se visualiza la ubicación de la paleta.

Fig. 3.34 Ubicación de la paleta “Bolean”.

Para el despliegue de nuestros iconos de programación existen varios caminos sin embargo en este caso

nos colocamos en el Diagrama de Bloques y damos clic izquierdo en nuestro ratón esta acción despliega la

paleta “Functions”, para visualizar cualquiera de los sub-menús 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 código se realizara con funciones Booleanas como son OR, AND, NOT, etc.…. La función será la

siguiente; cualquier botón enciende o apaga el “led” según el estado en el que se encuentre.

Para conectar iconos en

LabVIEW deben de ser

del mismo tipo de

datos.

Page 73: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo III.- Lenguajes de programación y LabVIEW. Aplicación de simulación 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 función “OR” la cual es una compuerta lógica, el funcionamiento de esta función es igual al de

una compuerta lógica “OR”, de la misma manera la función “Exclusive OR” asimila una compuerta lógica

“XOR”.

Exclusive “XOR” Compuerta “OR”

Fig. 3.36 Símbolo 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 Símbolo de compuerta OR

Page 74: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo III.- Lenguajes de programación y LabVIEW. Aplicación de simulación 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 simulación de nuestra botonera.

Fig. 3.39 Manejo de estructuras.

Una estructura son simulaciones graficas de los ciclos y sentencias de los lenguajes de programación

basados en texto; el ciclo “While Loop” ejecuta un sub-diagrama hasta que se cumpla la condición que lo

detiene, en este caso viene con un mando binario el cual detiene la ejecución 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 condición dependerá de la lógica de programación que se desee emplear.

LabVIEW

tiene

agrupadas

las

funciones

con las que

se cuenta.

Page 75: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo III.- Lenguajes de programación y LabVIEW. Aplicación de simulación 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 automáticamente que son el recuadro con una letra i de color azul y el botón lazado a un

recuadro verde en el cual hay un círculo rojo, este tipo de señalización es un stop y el de color azul es una

iteración; una iteración es el conteo de ciclos que ha transcurrido desde que arranco la primer ejecución, se

recomienda que entre cada iteración o ejecución del ciclo se coloque un retardo para optimizar la recolección

de datos.

Para colocar una

estructura

debemos de

encerrar dentro

los elementos que

deseamos.

Page 76: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo III.- Lenguajes de programación y LabVIEW. Aplicación de simulación en LabVIEW.

75

A continuación 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 función guarda el

último valor que se ejecuto dentro del ciclo “while”.

Recordando que el ciclo “While Loop” realiza iteraciones cada iteración 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.

Page 77: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo III.- Lenguajes de programación y LabVIEW. Aplicación de simulación en LabVIEW.

76

A continuación comenzaremos a cablera todos los elementos como se muestra en la siguiente figura.

Fig. 3.42 Cableado de componentes.

Una vez que están cableados todos los componentes como se muestra en la figura anterior procederemos a

colocar un retardo para la optimización de la simulación.

Una vez construido el Instrumento Virtual lo probaremos dando clic sobre el botón “Run”, nuestra simulación

deberá de funcionar a la perfección por lo cual no debemos de tener variación en lo acordado en el renglón

del ejemplo 1.

Para conectar nuestros iconos

solo colocamos el cursor cerca

de sus terminales.

Page 78: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo III.- Lenguajes de programación y LabVIEW. Aplicación de comunicación serial “ECHO”.

77

3.3.2 Aplicación de comunicación 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 comunicación, solo se

debe de definir cuál es la mejor manera de comunicar el hardware, a comparación de otros software para

realizar la comunicación 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

comunicación 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 comunicación.

“Read”: brinda la visualización de los datos que está leyendo el puerto de comunicación, esta herramienta

lee en formato “string”, lo cual nos indica que dependiendo el tipo de comunicación que se esté empleando

será el tipo de conversión de datos que se necesitara en caso de querer visualizar o extraer los datos.

Debido a debemos de empatar la

comunicación entre 2 elementos para poder

estar enviando y recibiendo datos

adecuadamente se debemos de configurar el

puerto de comunicación con la herramienta

Configure Port:

Fig. 3.44 Paleta serial del Visa.

Una vez terminada la configuración debemos de tener en cuenta que toda sesión que se abre de debe de

cerrar para los casos que nos convengan con lo cual el modulo Visa también debe de cerrarse mediante

programa para evitar dañar nuestro hardware.

Write Read

Configure Port

Page 79: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo III.- Lenguajes de programación y LabVIEW. Aplicación de comunicación 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 comunicación; lo cual programáticamente es de

gran ayuda en caso de necesitar efectos a la causa de perder conexión, o del cierre de comunicación, este

tipo de condicionamientos será de gran ayuda si necesitamos realizar tareas de reinicio de comunicación o

en su debido caso el costo de nuestro envió de datos mediante algún dispositivo de comunicación como un

modulo GPRS el cual nos consume un saldo mientras estamos conectados a la red, así mismo en el caso de

perder la comunicación o de finalizarla debemos de monitorear el estado de dicho icono, o si en algún

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

Page 80: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo III.- Lenguajes de programación y LabVIEW. Aplicación de comunicación serial “ECHO”.

79

,

Fig. 3.46 Terminales de conexión del “Visa Configure”.

Los diferentes colores con los que cuentan este tipo de herramientas son de gran ayuda en la transmisión y

recepción de datos así como configurar la velocidad de transmisión, la paridad con la que se transmite, el

estado que se tiene la transmisión 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 conexión de datos o algún factor relacionado al programa esta herramienta no nos indica cuando

tenemos algún fallo en nuestro Hardware o tipo de datos, los errores más comunes que arroja es cuando

tenemos mal el puerto de comunicación o un error en la conexión 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

telefónicos o Ethernet para redes de

comunicación.

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

Page 81: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo III.- Lenguajes de programación y LabVIEW. Aplicación de comunicación serial “ECHO”.

80

Procederemos a colocar los elementos del Visa en nuestro Diagrama de Bloques.

Fig. 3.48 Conexión entre elementos “Visa”.

Agregar un ciclo “While Loop” a nuestra lógica de programación.

Una vez que hemos interconectado los elementos colocaremos un ciclo While para poder monitorear el flujo

de datos en la comunicación, este ciclo nos ayuda a la recolección de datos continuamente ya que tiene un

elemento que detiene su enclavamiento y si no es activado o cambiado el estado de esta condición no se

saldrá del ciclo.

Fig. 3.49 Aplicación 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

número de

repeticiones que

realiza el ciclo.

Page 82: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo III.- Lenguajes de programación y LabVIEW. Aplicación de comunicación 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

iteración, aun sin el retardo se pueden visualizar cambios sin embargo no tendríamos datos exactos ya que

al tener un poco de ruido en la señal no estaríamos midiendo de manera adecuada y se dificultaría la

programación o la adquisición de daos para realizar acciones a este tipo de incrementos o decrementos,

Los posibles defectos o problemas con los que se contaría serian valores fluctuantes constantemente debido

a que el muestreo que está realizando es bastante rápido.

Fig. 3.50 Aplicación “echo”.

En esta imagen se observan las

diferentes opciones con las que

contamos para generar un

retardo, para realizar hojas de

cálculo 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.

Page 83: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo III.- Lenguajes de programación y LabVIEW. Aplicación de comunicación serial “ECHO”.

82

La vista del Diagrama de Bloques debe de ser la siguiente.

Fig. 3.52 Aplicación “echo”.

Insertar texto dentro de nuestro canal de comunicación.

Como se observa tenemos conectados los elementos de transmisión y recepción 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 comunicación 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 comunicación, 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 carácter con los que cuenta el programa, tendremos que emplear convertidores y buscadores de función

en la figura de abajo se muestra la paleta del Sub-menú “String”.

Page 84: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo III.- Lenguajes de programación y LabVIEW. Aplicación de comunicación 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

presentación.

Fig. 3.54 Aplicación “echo” Panel Frontal.

Una vez que se ubicaron los elementos sobre el Panel Frontal automáticamente aparecerán en el diagrama

de bloques debemos de cambiar el estado de cada icono uno a indicador y otro a control.

Page 85: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo III.- Lenguajes de programación y LabVIEW. Aplicación de comunicación serial “ECHO”.

84

Ahora agregaremos los iconos del Submenú “String”; “Format” “Into string” y “End” of “Line Constant” en el

diagrama de bloques, también debemos de poder visualizar los iconos “String”, como se muestra a

continuación:

Fig. 3.55 Aplicación “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 mayoría 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 línea o dar un “enter” al final de un renglón, 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 estándar.

“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

Page 86: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo III.- Lenguajes de programación y LabVIEW. Aplicación de comunicación 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 Aplicación “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

comunicación, con el Visa “Resources name”, una vez que se tiene seleccionado el puerto de comunicación

daremos clic en el botón Run, ya sea del panel frontal o del Diagrama de Bloques, después procederemos a

escribir en nuestro “String” de escritura y de inmediato deberán de aparecer los mismos caracteres en el

“String” de lectura; a continuación se visualizan algunos errores que se cometieron apropósito 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 programación, el “Error

List” en ocasiones nos detalla el error que se está cometiendo o en su debido caso nos señala el icono que

se encuentra mal conectado o que le faltan conexiones.

Visa

Resources

name

Page 87: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo III.- Lenguajes de programación y LabVIEW. Aplicación de comunicación 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 opción Show Error, la cual nos posiciona sobre el error, ahora procederemos a

colocar los elementos que nos demanda el error como se muestra a continuación:

Fig. 3.58 Aplicación “echo”.

En la figura anterior se agrego un “Property Node” el cual nos indica el numero de Bytes que contienen

nuestra transmisión o recepción, 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.

Page 88: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo III.- Lenguajes de programación y LabVIEW. Aplicación de comunicación serial “ECHO”.

87

“Run” de color Blanco y solida lo cual nos quiere decir que nuestras conexiones y elementos están

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 continuación:

Fig. 3.59 Aplicación “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 comunicación, 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 conexión de Error daremos clic izquierdo en nuestro ratón, aparecerán 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 comunicación, si

queremos visualizar el flujo de datos y si es que estamos leyendo algún byte del puerto serial debemos de

presionar el botón “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 están llegando al icono

adecuado.

Cluster de

Error.

Se crea una

constante de

entrada.

Page 89: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo III.- Lenguajes de programación y LabVIEW. Aplicación de comunicación serial “ECHO”.

88

Una vez comprobado que tenemos la transmisión y que obtuvimos los mismos caracteres, nuestro Panel

Frontal debe de visualizarse de la siguiente manera:

Fig. 3.60 Aplicación “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 envía caracteres del tipo

“String”, sino código ASCII.

Este será uno de nuestros Instrumentos Virtuales, que se emplearan en la aplicación, también 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 función 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

comunicación.

Page 90: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo III.- Lenguajes de programación y LabVIEW. Aplicación de comunicación serial “ECHO”.

89

Acoplamiento de señal de datos.

Al tener que convertir el tipo de caracteres ASCII a un valor numérico se emplearan las herramientas de la

paleta “String/Array/Pathconversion” la cual se muestra a continuación:

Para el despliegue de esta paleta

necesitaremos colocar nuestro cursor en

Diagrama de Bloques, damos clic izquierdo a

nuestro ratón 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 conversión.

Fig. 3.61 Paleta “Conversion”.

Una vez que tenemos abierta la paleta del Sub-menú buscaremos la función que dice “String to Byte”; ¿Por

qué “String to byte”? Y no “ASCII to Number”; la versión y los módulos con los que se cuenta no tienen la

función “ASCII to Number”, por lo cual debemos de convertir primero el valor “String” obtenido de nuestro

“Visa Read” a Byte y después 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 conversión, ahora podemos visualizar que

tenemos numerosas opciones de conversión,

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 número entero.

Page 91: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo III.- Lenguajes de programación y LabVIEW. Aplicación de comunicación 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 Comunicación serial.

Dado el hecho que nuestros caracteres leídos en el “Visa Read” son del tipo “String”, necesitamos extraer

esos datos con el mismo formato, en caso de intentar hacer una conversión directa nuestros cables de

conexión se marcarían en una línea 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 conexión, es por esto que

debemos de enviar o convertir la información primero a Byte y después de Byte pasarlos a “Numeric”.

Fig. 3.64 Comunicación serial.

Se agregan los 2 elementos

de conversión al ejemplo de

“ECHO”.

Una vez conectados los

elementos creamos un

indicador del convertidor

Double.

Page 92: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo III.- Lenguajes de programación y LabVIEW. Aplicación de comunicación serial “ECHO”.

91

En caso de no haber realizado la conversión 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 automáticamente se crea un grafico en el Panel Frontal el

cual se muestra en la siguiente figura.

Fig. 3.65 Comunicación serial.

Se visualizan dos iconos debido a que es un arreglo de dos dimensiones; el convertidor “String to byte array”

envía 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.

También podemos ordenar y estandarizar el tamaño de cada control o indicador, su posición dentro del

Panel Frontal, el tipo de orden y de estandarizado de los elementos depende de el arquitecto del proyecto;

sin embargo entre más ordenado se encuentre el Panel Frontal y el Diagrama de Bloques será más fácil

detectar errores y corregirlos, el Diagrama de Bloques se puede ordenar respecto al flujo de datos que se

tengan en el programa o la lógica de programación que se esté implementando.

Representación grafica

del indicador Numeric.

Page 93: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo III.- Lenguajes de programación y LabVIEW. Aplicación de comunicación serial “ECHO”.

92

Para nombrar los elementos de nuestro Panel Frontal tomaremos como referencia su función 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 Numérico con el nombre de Valor

decimal, dejamos el “String” escribir en caso de necesitar comprobar el funcionamiento de la comunicación,

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 también

se modifican en el

Diagrama de

Bloques.

Page 94: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo III.- Lenguajes de programación y LabVIEW. Aplicación de comunicación serial “ECHO”.

93

Para agregar una descripción o una ayuda de la implementación del Instrumentos Virtual nos

direccionaremos al menú “File” y seleccionaremos “VI Properties”; una vez desplegado este

seleccionaremos “Documentation” como se muestra a continuación:

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 continuación:

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 descripción

del Instrumento Virtual

como: ¿Qué hace? Y ¿Cómo

lo hace?

Herramien

tas para

cambiar

forma del

icono

Page 95: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo III.- Lenguajes de programación y LabVIEW. Aplicación de comunicación 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 continuación:

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

descripción que

nosotros le

dimos al

Instrumento

Virtual.

Page 96: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

95

“DESARROLLO DE LA

METODOLOGIA PARA LA

ADQUISICION DE DATOS

DIGITALES Y ANALOGICOS CON EL

SOFTWARE LabVIEW POR MEDIO

DE COMUNICACIÓN SERIAL.”

CAPITULO IV

Page 97: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo IV.- Desarrollo de la metodología para la adquisición de datos digitales y analógicos con el software

LabVIEW por medio de comunicación serial RS-232. Planteamiento de la aplicación.

96

4.1 PLANTEAMIENTO DE LA APLICACIÓN.

Para ejemplificar la metodología se desarrollara una aplicación la cual colectara datos provenientes de un

microcontrolador PIC16F877A, estos datos provenientes del microcontrolador serán transmitidos por el canal

de comunicación RS-232 y visualizados mediante un grafico de control desarrollado en la plataforma de

programación LabVIEW.

4.1.1 Descripción de la aplicación.

El grafico de control tendrá las siguientes características: la señal que colecte del puerto analógico tendrá la

versatilidad de poderse visualizar en los siguientes elementos; termómetro, manómetro, velocímetro y

cualquier nivel de llenado de un tanque o deposito. Los datos digitales colectados activaran señales

Booleanas en el grafico de control, las cuales nos indiquen el estado en el que se encuentra.- Funcionara de

manera automática debido a que mediante la adquisición de la señal analógica controlara una señal digital

del PIC16F877A.-

DISEÑO:

Para el correcto funcionamiento del sistema requiere de los siguientes elementos:

Fig. 4.1 Ciclo de la aplicación.

Page 98: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo IV.- Desarrollo de la metodología para la adquisición de datos digitales y analógicos con el software

LabVIEW por medio de comunicación serial RS-232. Elementos de la aplicación.

97

4.2 ELEMENTOS DE LA APLICACION.

i. CABLE USB-DB9.

Convertidor de señal USB-DB9; debido a nuestro PC es una computadora personal no cuenta con el puerto

de comunicación serial, es por esta razón que se necesitara un cable USB-DB9 el cual convierte la conexión

USB a Serial.

ii. MAX-232.

Debido a que nuestro dispositivo de comunicación serial trabaja bajo un estándar de 4.5 volts y las

características técnicas del PC son de 12voltsn será necesario implementar un dispositivo el cual nos

amplifique la señal a enviar, este dispositivo es el MAX-232, el cual trabaja con transistores y nos amplifica la

señal que enviamos por el microcontrolador al PC.

iii. PIC16F877A.

Será empleado como nuestro dispositivo de comunicación, debido a que cuenta con el puerto de

comunicación serial llamado USART; este puede enviar y recibir datos bajo el estándar RS-232 el cual

maneja 3bit´s: 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 lógica de programación de nuestro grafico de control; el

estándar RS-232 envía los datos bajo los caracteres ASCII.

iv. DATO DIGITAL O ANALOGICO.

Para poder obtener la señal analógica del microcontrolador será necesario usar su modulo de conversión en

el cual usaremos como referencia el voltaje con el que trabaja el microcontrolador, estos e logra conectando

un potenciómetro el cual cuenta con tres terminales los dos extremos de este se conectaran a la

alimentación 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

comunicación serial.

La colección 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 señal positiva de alimentación 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 conexión como un

interruptor.

Page 99: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo IV.- Desarrollo de la metodología para la adquisición de datos digitales y analógicos con el software

LabVIEW por medio de comunicación serial RS-232. Elementos de la aplicación.

98

v. Grafico de control.

Fig. 4.2 Grafico de control de LabVIEW.

Funcionamiento del grafico de control.

El indicador con el nombre “presión” recibirá los datos del puerto analógico y los visualizara en el

manómetro, el manómetro al llegar al número 5 enviara la señal al microcontrolador de activar una salida la

cual regresara el valor al grafico de control y activara el indicador con el nombre “motor”.

La variación de la medición analógica se realizara mediante un potenciómetro; el cual representara un

instrumento de medición que trabaje bajo el orden de voltaje, en este caso la señal estará dentro del rango

de 0-5v, esta señal será convertida por el microcontrolador en un rango binario de 8bit´s, estos 8bit´s son los

que utiliza el puerto de conversión analógico digital en el PORT A del PIC16F8877A.

Los datos digitales a enviar serán representados físicamente mediante una resistencia de un 1KOhm

conectada a tierra, esta conexión representa un 0, a esta misma conexión se la agregara un interruptor con

conexión a positivo, al activar el interruptor estaremos enviando un 1 al PIC16F877A.

Page 100: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo IV.- Desarrollo de la metodología para la adquisición de datos digitales y analógicos con el software

LabVIEW por medio de comunicación serial RS-232. Adquisición de datos digitales y analógicos.

99

4.3 ADQUISICION DE DATOS DIGITALES Y ANALOGICOS.

Características de entradas digitales y analógicas del PIC16F877A.

Para poder enviar datos digitales o analógicos por el puerto de comunicación serial del PIC16F877A,

debemos de cumplir con las características definidas en el programa y respetar el manejo de los puertos, los

puerto pueden trabajar como entradas o salidas, digital o analógico, ya sea configurar un bit del puerto como

entrada o como salida o configurar todo un puerto para entradas digitales, entradas analógicas, salidas

digitales, salidas analógicas en este caso trabajaremos con el puerto A como la señal analógica, para poder

convertir la señal digital a analógica utilizaremos el voltaje de referencia del microcontrolador (el voltaje de

funcionamiento de este es de 4.5v), ahora conectaremos los extremos de un potenciómetro al negativo y

positivo de la alimentación y el pin intermedio a la entrada RA0 de mi PIC; haciendo este paso estaremos

convirtiendo 4.5 volts a una escala en código ASCII, este dato será del 0-255.

Para la colección 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 envía conectando una resistencia de 1KOhm y el uno se logra

agregándole la señal positiva o el positivo de la fuente de alimentación a la resistencia, esta conexión debe

de estar unida mediante un interruptor.

4.3.1 Envió y transmisión de datos digitales y analógicos.

Características de la comunicación serial.

La comunicación serial tiene una norma de trabajo la cual indica que transmite en código ASCII. Envía tres

elementos los cuales son bit de inicio, dato a enviar, bit de parada, cuenta con velocidad de baudios entre

otras; nuestra comunicación debe de tener un puerto por el cual se entiendan los formatos de comunicación

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 analógicos como digitales del PIC16F877A es el que se

muestra a continuación.

list p=16F877

include <p16f877.inc>

ADDR_L equ 0x20

DATA_L equ 0x21

org 0x00

nop

nop

Page 101: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo IV.- Desarrollo de la metodología para la adquisición de datos digitales y analógicos con el software

LabVIEW por medio de comunicación serial RS-232. Envió y transmisión de datos digitales y analógicos.

100

bcf STATUS,RP0

bcf STATUS,RP1

movlw b'01000001'

movwf ADCON0

bsf STATUS,RP0

bcf STATUS,RP1

clrf TRISA

clrf TRISB

clrf TRISC

clrf TRISD

clrf TRISE

movlw b'00001110'

movwf ADCON1

bsf TRISA,0

bcf TRISC,6

bsf TRISC,7

movlw d'129'

movwf SPBRG

bsf TXSTA,BRGH

bcf TXSTA,SYNC

bcf STATUS,RP0

bcf STATUS,RP1

bsf RCSTA,SPEN

bsf STATUS,RP0

bcf STATUS,RP1

bcf TXSTA,TX9

bsf TXSTA,TXEN

bcf STATUS,RP0

Page 102: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo IV.- Desarrollo de la metodología para la adquisición de datos digitales y analógicos con el software

LabVIEW por medio de comunicación serial RS-232. Envió y transmisión de datos digitales y analógicos.

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

_ADC

bsf ADCON0,GO

_ESPERA

btfsc ADCON0,GO

GOTO _ESPERA

movf ADRESH,W

movwf TXREG

_ESPERATX

btfss PIR1,TXIF

GOTO _ESPERATX

GOTO _ESPERARX

END

Page 103: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo IV.- Desarrollo de la metodología para la adquisición de datos digitales y analógicos con el software LabVIEW por medio de comunicación serial RS-232.

Diagrama de conexión del PIC16F877A para datos digitales y analógicos.

.

102

4.3.2 Diagrama de conexión del PIC16F877A para datos digitales y analógicos.

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 transmisión y recepción del puerto de

comunicación USART, el tiempo y la forma de convertir las señales digitales a analógicas; 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 continuación:

Donde = 5v; = ; = .7v

De lo cual sabemos que = 10mA

Sustituyendo tenemos )+0.7v

De donde obtendremos el valor de R1:

Lo que nos da un valor de 430 Ohm. Para las resistencias del LED.

Page 104: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo IV.- Desarrollo de la metodología para la adquisición de datos digitales y analógicos con el software LabVIEW por medio de comunicación serial RS-232.

Diagrama de conexión del PIC16F877A-PC para datos digitales y analógicos.

.

103

4.3.3 Diagrama de conexión del acoplamiento de señal PIC16F877A con PC.

El funcionamiento del puerto de comunicación serial de nuestro ordenador tiene un estándar de trabajo de

+/-12v, por esta razón debemos de emplear un dispositivo el cual nos ayude a amplificar la señal en este

caso implementaremos el MAX-232 el cual funciona a base de transistores los cuales aumentan o

disminuyen la señal que reciben.-

A continuación se muestra el diagrama de conexión del MAX232.

Fig. 4.4 Diagrama de conexión del MAX232.

La siguiente figura muestra el diagrama de conexión del microcontrolador, el MAX232 y el DB9.

Fig. 4.5 Diagrama de conexión de PIC, MAX232, DB9.

RX

TX

Page 105: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo IV.- Desarrollo de la metodología para la adquisición de datos digitales y analógicos con el software LabVIEW por medio de comunicación serial RS-232.

Hardware y software a utilizar para el desarrollo de la aplicación.

.

104

4.4 HARDWARE Y SOFTWARE A UTILIZAR PARA EL DESARROLLO DE LA APLICACIÓN.

Hardware a usar en la aplicación:

· 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 (potenciómetro) 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 aplicación:

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 versión de prueba.

Page 106: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo IV.- Desarrollo de la metodología para la adquisición de datos digitales y analógicos con el software

LabVIEW por medio de comunicación serial RS-232. Desarrollo de la aplicación.

105

4.5 DESARROLLO DE LA APLICACION.

LabVIEW cuenta con un modulo dedicado a la comunicación el cual lleva por nombre Instrument I/O

En este modulo encontramos las herramientas del VISA SERIAL las cuales utilizaremos para la

comunicación con el PIC16F877A, estas herramientas nos permiten trabajar con el puerto de comunicación

serial de nuestro PC y el PIC16F8877A, es decir podemos leer, escribir, establecer los parámetros de

comunicación y separar los bits de inicio y parada.

Grafico de control.

El grafico de control es la representación simbólica del proceso, en este caso contamos con señales

“Booleanas” y un indicador del tipo “Numeric”, cuando asociamos datos debemos de asegurarnos de usar

las características necesarias para poder desarrollar la lógica de programación, en este caso hacemos

referencia al tipo de datos Booleanos y Numeric; cuando recibimos los datos por el puerto de comunicación

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 después acoplarlo al tipo de datos

Numeric, así mismo la visualización de datos Boolean tendrá que acoplarse al tipo de datos recibidos,

Como realizar la lógica de programación en LabVIEW.

LabVIEW no tienen un orden específico para realizar lógica de programación, 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 programación para poder usar el

mismo, cada icono ejecuta su función hasta que todas sus entradas están disponibles al terminar su

ejecución transfiere los datos al nodo siguiente.

Page 107: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo IV.- Desarrollo de la metodología para la adquisición de datos digitales y analógicos con el software

LabVIEW por medio de comunicación serial RS-232. Desarrollo de la aplicación.

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.

Page 108: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo IV.- Desarrollo de la metodología para la adquisición de datos digitales y analógicos con el software

LabVIEW por medio de comunicación serial RS-232. Pasos de la metodología.

107

Pasos de la metodología.

1.-Para poder entender el ciclo que se debe de cumplir en la adquisición de datos explicaremos el flujo de

estos en el programa, una vez que se tiene la conexión entre el PC y nuestro sistema de adquisición el cual

es: microcontrolador, MAX232, USB-DB9 debemos de establecer en el diagrama de bloques, de nuestro

grafico de control, las mismas características de comunicación que definimos en el programa del

microcontrolador; las cuales son: velocidad de transmisión 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 comunicación serial procedemos a leer

estos, en este caso debemos de estar monitoreando la recepción de bits en el puerto; lo cual logramos

mediante la implementación de un ciclo While el cual se ejecuta hasta que la condición que se dispone lo

detiene, con esta acción estaremos percibiendo cambios en el puerto de comunicación serial.

4.- Ahora ya que estamos leyendo el puerto de comunicación solo necesitamos agregar el icono que nos

permite escribir en el puerto de comunicación serial, esta acción la necesitamos para el control de los

puertos digitales del microcontrolador.

5.-Ya que tenemos el código ASCII que envía nuestro microcontrolador debemos de convertirlo a “Numeric”

y a “Boolean”, lo cual se logra convirtiendo el dato obtenido en Byte y después lo convertimos en un numero

entero, para poder visualizarlo en una escala de 0 a 255, esta escala proviene de la conversión de binario a

decimal en la cual representamos los 8bit`s del canal de conversión del microcontrolador en un numero

decimal, una vez convertido el dato lo podemos visualizar en cualquier elemento que visualice datos del tipo

“Numeric”.

Page 109: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo IV.- Metodología para la adquisición de datos digitales y analógicos con el software LabVIEW por medio

de comunicación serial RS-232. Diagrama de flujo de la metodología.

108

4.5.1 Diagrama de flujo de comunicación serial.

N

S

Inicio

Abrir el Software de National

Instruments LabVIEW 8.5.

Abrir una nueva plantilla para

construir un Instrumento Virtual.

Configurar los parámetros de

comunicación del puerto serial.

Procesamiento de Bytes en el

canal de comunicación.

Lectura de datos.

Existen bytes en

canal de

comunicación.

Escritura de datos.

Cierre de canal de

comunicación.

Page 110: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo IV.- Metodología para la adquisición de datos digitales y analógicos con el software LabVIEW por medio

de comunicación serial RS-232. Desarrollo de la metodología.

109

4.5.2 Desarrollo de la metodología para la adquisición de datos digitales y analógicos con el

software LabVIEW por medio del puerto de comunicación 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

programación

LabVIEW 8.5 de

National

Instruments.

Esta ventana nos

indica la versión

con la que se

cuenta, en este

caso LabVIEW

8.5.

Page 111: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo IV.- Metodología para la adquisición de datos digitales y analógicos con el software LabVIEW por medio

de comunicación serial RS-232. Desarrollo de la metodología.

110

Paso 2.-Crear un Instrumento Virtual para la comunicación serial.

Abrir un Instrumento en Blanco:

Fig. 4.10 Abrir un Instrumento Virtual en Blanco.

Paso 3.-Configuración de parámetros para la comunicación seria:

Fig. 4.11 Configuración de puerto serial.

Abrir un

Instrumento Virtual

en Blanco.

Este icono nos

permite

configurar los

parámetros para

sincronizar la

comunicación

Serial.

Page 112: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo IV.- Metodología para la adquisición de datos digitales y analógicos con el software LabVIEW por medio

de comunicación serial RS-232. Desarrollo de la metodología.

111

Debido a que debemos de establecer una sincronía entre elementos de comunicación como: velocidad,

paridad y número 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 comunicación 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 comunicación no entendería los caracteres ni la

comunicación debido a que no tendría 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.

Page 113: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo IV.- Metodología para la adquisición de datos digitales y analógicos con el software LabVIEW por medio

de comunicación serial RS-232. Desarrollo de la metodología.

112

La extracción 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

término, y el contenido.

Pasó 6.- Escritura de datos.

Fig. 4.14 Escritura de datos.

Para poder escribir datos en nuestro puerto necesitamos introducir el código o caracteres en el canal de

transmisión para lo cual usaremos el icono “Write” este icono nos permite enviar datos atreves de nuestro

canal de comunicación en el formato en el que se está trabajando.

Este icono nos permite

escribir datos en el formato

adecuado.

Page 114: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo IV.- Metodología para la adquisición de datos digitales y analógicos con el software LabVIEW por medio

de comunicación serial RS-232. Desarrollo de la metodología.

113

Pasó 7.- Cierre del Puerto de comunicación.

Fig. 4.15 Cierre del Puerto de comunicación.

Una vez que hemos terminado nuestra comunicación o el ciclo de transferencia y recepción de datos

necesitamos finalizar la comunicación cerrando el ciclo, esto se logra implementando el icono “Close”, el cual

termina la comunicación serial.

Una vez que se culmino la comunicación serial se concluye el ciclo.

Es importante denotar que dependiendo las funciones que se deseen realizar o implementar en la obtención

de datos digitales y analógicos será la lógica de programación.

Cierre de

transmisión serial.

Page 115: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Capítulo IV.- Metodología para la adquisición de datos digitales y analógicos con el software LabVIEW por medio

de comunicación serial RS-232. Conversión de datos.

114

Visualización de datos.

Conversión de datos “String” a “Numeric”.

Los datos obtenidos del puerto de comunicación se encuentran en formato ASCII por el tipo de estándar que

maneja la comunicación serial RS-232, debido a esto convertiremos los datos.

Fig. 4.16 Conversión de datos.

La extracción de los datos recibidos por el “READ”, es en formato “STRING”, y su visualización es en

caracteres o código 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” después los pasamos a “DOUBLE” con lo cual tenemos un arreglo de caracteres del cual solo

extraeremos los que nos interesan, al realizar esta conversión obtenemos los datos en números decimales

con lo cual nuestro valor obtenido oscila entre el valor cero y el dos cientos cincuenta y cinco.

Conversión

de datos

“String” a

“Numeric”

Page 116: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Análisis económico.

115

Análisis económico.

Para el desarrollo del análisis dividiremos en etapas la ejecución del proyecto.

Estas etapas se basaran en el tiempo aproximado que duro cada etapa, es decir desde el inicio hasta la

conclusión 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, también se tomara en cuenta el salario

promedio de un pasante de ingeniería recién egresado el cual se pretende se encuentre entre $ 14,000 y $

16,000 pesos, los tiempos se encuentran sujetos a una estimación tomada previamente.

Etapa 1.Tiempo de recolección de la información.

Con duración de 32 días tomando como estándar 2.5hrs diarias debido a que se realizaba una preselección

del material recolectado.

Esta etapa comprende el proceso de búsqueda de información la cual se baso en la necesidad que

comprende el trabajo, la recolección de información estuvo orientada a libros, páginas electrónicas y

artículos que contenían fuentes de información más fidedignas ó de profesionales con amplia experiencia en

el ramo de la materia; el tiempo estimado en la recolección de la información fue de 96hrs.

Etapa 2.Tiempo invertido en analizar y seleccionar la información.

Con duración de 64 días tomando como estándar 1.5hrs por día para realizar un análisis profundo y

selectivo.

Análisis de la información: Una vez que se recolecto la información pertinente para el desarrollo del trabajo

presente se procedió a clasificar y seleccionar la que definía de manera más explícita el tema que se

necesitaba esclarecer, esta etapa comprendió 80hrs.

Etapa 3. Tiempo dedicado al análisis y exploración del Software LabVIEW.

Con duración de 120 días tomando como estándar 2hrs por día.

En esta etapa se descargo la versión de prueba que brinda National Instruments en la siguiente página:

http://www.ni.com/trylabview/esa/ , la cual contempla 30 días como máximo, tiempo en el cual podemos

disfrutar de la mayoría de las características de este software de manera gratuita; esta etapa contemplo

120hrs.

Etapa 4.Tiempo estimado del desarrollo de la aplicación

Con duración de 35 días tomando como estándar 1.2hrs por día.

Durante este periodo se realizaron las pruebas necesarias para el desarrollo de aplicaciones que puedan

colectar datos digitales y analógicos, así mismo se detallo el proceso que se emplea para el uso del puerto

RS-232; en este periodo se comprendieron 40hrs.

Page 117: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Análisis económico.

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 número de horas invertidas en el proyecto nos da una estimación de 416hrs.

El costo de hora por mano de obra se obtiene de dividir el salario mensual entre el número de días lo cual

nos arroja un costo de $100.00 por hora.

Partiendo de los datos obtenidos se realiza la siguiente fórmula: 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 carácter

gratuito y otras de la versión 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 duración de 3 años

incluyendo actualizaciones es de $84,848.80 en este punto se anula el precio debido a que se utilizo la

versión de prueba, Office 2010 Pro $6.001.37, Windows XP adquirido con el equipo de computo, los demás

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

Page 118: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Análisis económico.

117

Costo del prototipo.

En esta etapa se involucran los precios del material que se implemento para la aplicación:

Unidad Material Precio

1pza. PIC16F877A $ 180.00

1pza. MAX-232 $ 90.00

5pzas. Capacitores de tantalio $ 250.00

12pzas. Resistencias $ 150.00

1pza. Potenciómetro $ 20.00

1pza. Fuente regulada $ 250.00

1pza. Cautín $ 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

Page 119: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Análisis económico.

118

Ahora realizaremos una comparativa entre la metodología y el tomar los cursos que brinda National

Instruments.

Costo de Cursos:

National Instruments cuenta con numerosos cursos de capacitación en los cuales podemos ir conociendo y

desarrollando las herramientas del entorno de programación, estos cursos se pueden vender por separado

en módulos, o en un paquete.

Los módulos tienen un precio unitario y especifican el número de días en los cuales se imparten, en estos

módulos el aprendizaje es limitado al contenido del mismo, así como las herramientas y la información.

O bien podemos tomar un curso de 6 meses con un valor de $ 48,990.00 con el nombre de Training and

Certification Membership código 780154-01.

1 año con precio de $73,490.00 mismo nombre diferente clave 780154-11.

2 años 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 capacitación y exámenes de

certificación de NI.

En este proceso también se desglosan las horas que se le invierte al desarrollo de la aplicación y el sueldo

del interesado en los días 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 código 780154-01. $ 48,990.00

960 H/H $ 96,000.00 Total $ 144,990.00

Costo de aplicación para la adquisición de datos digitales y analógicos:

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 adquisición de los cursos nos genera un IVA y el Hardware también se lo sacamos a la cantidad

total generada lo cual nos arroja un total de $208,344.20 con IVA.

Page 120: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Análisis económico.

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 introducción 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 México por el momento.

Este trabajo busca dar una herramienta más a todos los estudiantes, para tener la oportunidad de realizar y

desempeñar prototipos novedosos y sofisticados sin tener que realizar una inversión monetaria con la cual

no se cuenta, así mismo se pretende contar con conocimientos de los países que cuentan con tecnologías

de punta lo cual nos brindara una mejor calidad de vida al estar más preparados.

México es un país en desarrollo con lo cual los profesionistas que manejen la mayor parte de herramientas,

serán los que puedan tener acceso a procesos sofisticados y entre mas profesionistas, de escuelas públicas

mexicanas, tengan acceso a estos procesos seremos más 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 preparación académica.

Page 121: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Conclusiones.

120

Conclusiones.

El hecho de que LabVIEW sea una herramienta de vanguardia mundial, y utilizada mas habitualmente en

otros países desarrollados, complica la información que se puede usar respecto al uso de este Software, a

menos que se cuente con un amplio presupuesto económico para adquirir un curso, el presente documento

es una excelente herramienta para tomar como base en el desarrollo de gráficos de control usando

LabVIEW y su puerto de comunicación RS-232 lo cual se puede comprobar en el capítulo IV.

LabVIEW es una potente herramienta en el desarrollo de gráficos de controla nivel software, el cual puede

conectarse con una inmensa cantidad de hardware de National Instruments, sin embargo la adquisición de

estas dos herramientas contempla un alto incremento económico. El presente documento es una aplicación

de cómo usar esta potente herramienta con hardware creado por nosotros mismos mediante el puerto de

comunicación RS-232 y un PIC 16f877A, para la adquisición de datos digitales y analógicos, cabe destacar

que este logro es parte del objetivo general y se puede comprobar en el capítulo IV.

LabVIEW es un software el cual contempla herramientas para la realización de tareas especificas y nos

brinda diferentes maneras de conexión, comunicación, análisis y despliegue de información, mediante un

ambiente de programación flexible y bastante amigable para el usuario.- En el cual podemos emplear poco

tiempo en la sintaxis del programa pudiendo aprovechar más tiempo en la mejora del mismo.

A si mismo cuenta con diferentes caminos para el procesamiento de datos, los cuales podemos visualizar en

diferentes gráficos de control sin tener que modificar parámetros del procesamiento de estas señales,

también podemos ejecutar acciones, de manera simple y practica, para el control de estos parámetros

medibles, este punto fue uno de los objetivos específicos y se puede comprobar en el capítulo III.

El puerto de comunicación serial RS-232 es habitualmente conocido por la mayoría de estudiantes y

profesionales de carreras técnicas, lo cual facilita la información de este, asimismo la mayoría de dispositivos

que procesan datos industriales tienen este puerto para poder comunicarse.

Un punto clave en la recolección de datos digitales y analógicos es el elemento de transmisión, en este caso

el PIC 16f877A, el cual facilito significativamente el desarrollo de la aplicación, debido a su puerto de

comunicación asíncrono; este se puede programar de una manera fácil y podemos modificar de forma

práctica las entradas y salidas con las que disponemos en este dispositivo. No obstante se acoplo la señal

de transmisión del PIC16f877A con un MAX-232, esto no fue más que una amplificación de señal 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 capítulo II.

Page 122: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Conclusiones.

121

El tipo de señales a adquirir las podemos transformar o acoplar al nivel de ejecución o entendimiento del

software mediante periféricos electrónicos de bajo costo, los cuales cuenten con una gran cantidad de

información para poder desarrollarlos de manera simple y eficiente, este punto fue uno de los objetivos

específicos y se logro con éxito en el capítulo IV.

Es importante conocer y entender la comunicación del tipo de datos al realizar la transmisión de señales

para poder establecer un camino a seguir en la ejecución 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 características técnicas ya sea que se

requieran o las que nos brinda el dispositivo.

Page 123: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Recomendaciones.

122

Recomendación.

Es importante tener en cuenta la versión 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 estándar de cómo manejar el puerto de comunicación serial RS232, envió y

transmisión de datos a través de este con el software LabVIEW.

Este trabajo no es un estándar para realizar aplicaciones de adquisición de datos, debido a que

dependerá de la visión del desarrollador para emplear las herramientas que se explican.

Las características del software o del presente trabajo no están directamente ligadas al

microcontrolador.

MEJORAS A FUTURO.

Este trabajo solo explica una reducida porción de lo que puede realizar el software LabVIEW, sin embargo

es una herramienta poderosa para realizar sistemas SCADA.

Podemos emplear los parámetros de voltaje con los que cuenta el microcontrolador y hacer la comunicación

directa con el PC.

Realizar controles como PWM, variadores de velocidad, controles de temperatura, etc.…

Realizar controles de PICs para manejar 2 o 3 señales analógicas y digitales con un solo cable de

comunicación.

Estas son algunas de las mejoras con las que podemos obtener más herramientas, tanto en la programación

de PIC`s y en el manejo de esta herramienta de programación.

Page 124: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Glosario.

123

Glosario.

Señal: es una representación, en diversos tipos y formas, que informa.

Digital: representación de dígitos

Analógico: representación de manera continúa en el tiempo la evolución de una magnitud.

Microprocesadores: es la unidad que procesa la información dentro de un computador, construido a base

de miles de componentes electrónicos integrados

Microcontroladores: es un circuito integrado que encapsula las tres unidades fundamentales de una

computadora las cuales son: unidad central de procesamiento, memoria, periféricos de entrada y salida.

PIC: Peripheral Interface Controller el cual es una familia de los microcontroladores con memoria RISC

desarrollados inicialmente por GI.

Periféricos: cualquier dispositivo el cual comunique el exterior con la unidad central de procesamiento o que

ayude como memoria a la memoria principal.

Encapsulado: la presentación física que tienen los componentes electrónicos.

Encriptar: sinónimo de cifrar, acción para proteger un código u ocultarlo mediante una clave.

Conversores: son aquellos dispositivos que convierten un dato al especificado, por ejemplo un convertidor

analógico-digital, convierte el dato analógico a uno digital.

Set: sinónimo de asignar

Lenguaje ensamblador: es un medio de entendimiento entre el código 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 número

corto de comandos podemos realizar tareas específicas.

Memoria tipo flash: es una memoria la cual permite leer y escribir múltiples posiciones de memoria en la

misma instrucción.

Memoria tipo EEPROM: Electrically-Erasable Programmable Read-Only Memory, es un tipo de memoria la

cual puede ser programada, leída y escrita eléctricamente.

Page 125: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Glosario.

124

Memoria RAM, random-access memory es la memoria donde el procesador recibe instrucción y almacena

resultados.

USART: universal asynchronous receiver/transmitter, es la transmisión y recepción asíncrona del puerto

serial.

Asíncrono: a la falta de sincronía entre 2 parámetros

Baudio: unidad de medida usada en telecomunicaciones, la cual representa la cantidad de cambios que

tiene la señal.

ASCII: American Standard Code for Information Interchange, código utilizado para representar caracteres.

ANSI: American Nationals Standards Institute, instituto que omite normas.

EIA: Environmental Impact Assessment, Evaluación de impacto ambiental.

FORTRAN: formula translator, lenguaje de programación.

COBOL: common Business Oriented Language, lenguaje de programación.

PL/1: Programming Language 1, lenguaje de programación.

BASIC: benginner´s All-purpose Symbolic Instruction Code lenguaje de programación.

RAD: Desarrollo Rápido de Aplicaciones, lenguaje de programación.

CASE: Computer Aided Software Engineering, lenguaje de programación.

LISP: “List Processing, lenguaje de programación basado en listas.

Informática: ciencia encargada del estudio y tratamiento automático de la información.

Proceso: la conjunción de etapas o pasos que existen dentro de un principio y un fin.

Codificación: acción de transformar un contenido a un código.

EDD´s: Estructuras Dinámicas de Datos, son estructuras que se amplían o se reducen según los

requerimientos que se necesiten.

Software: es la lógica empleada en un computador para resolver tareas específicas

Hardware: son las representaciones físicas de una computadora.

Page 126: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Glosario.

125

Sistemas embebidos: son sistemas orientados al análisis en tiempo real de algunas tareas específicas, las

cuales se encuentran en la misma tarjeta electrónica de control.

FPGA: Field Programmable Gate Array, es un componente semiconductor el cual contiene bloques de lógica

cuya interconexión y funcionalidad puede ser programada mediante de un software.

DSP: Digital Signal Processing, procesador digital de señales.

PID: Proporcional Integral Derivativo, método utilizado en el cálculo de sistemas de control.

PAC: controladores de automatización programables es el conjunto de dispositivos interconectados a una

FPGA, por ejemplo, la cual realiza tareas específicas.

PLC: controladores lógicos programables.

VI: Virtual Instruments, instrumento Virtual; se la llama a si debido a que representa elementos virtuales

físicos mediante gráficos programables.

Sub-VI: elementos virtuales dentro de elementos virtuales.

Bit: un digito del sistema de numeración binaria.

Byte: es una palabra de dígitos.

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

programación lógica.

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.

Page 127: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Bibliografía.

126

Bibliografía.

(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.

López Cano José Luis, Métodos e hipótesis científicas, México, 1984.

Roberto Hernández Sampieri, Carlos Fernández Collado, Pilar Baptista Lucio, Metodología de la

investigación, Mc Graw Hill, Colombia (1996).

López Cano José Luis, Métodos e hipótesis científicas, México, 1984.

Roberto Hernández Sampieri, Carlos Fernández Collado, Pilar Baptista Lucio, Metodología de la

investigación, Mc Graw Hill, Colombia (1996).

Gregorio Klimovsky, Las desventuras del conocimiento científico. Una introducción a la

epistemología, A-Z editora, Bs.As., 1997, ISBN, 950-534-275-6.

René Descartes. Discurso del método. segundo título o indicación al título principal Discours de la

methode. Pour bien conduire la raison & chercher.

Método en Diccionario de Filosofía J. Ferrater Mora, Ariel, Barcelona, 1994, ISBN 84-344-0500-8,

p. 2402.

Albert Paul Malvino, Principios de electrónica. Sexta edición. 1999.

Tocci, Ronald J., Neal S. Windmer, Gregory L. Moss. Sistemas digitales Principios y Aplicaciones.

Decima edición, 2007.

Mileaf, Harry. Electricidad serie 1-7. México, 2008.

National Instrument. LabVIEW Help, 371361D-01, August 2007.

Page 128: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Bibliografía.

127

Páginas 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 inglés 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. Simulación de microcontroladores y diseño 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

Page 129: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Anexo1

128

ANEXO 1 características técnicas del PIC16F877A:

Page 130: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Anexo2

129

ANEXO 2 Características técnicas del MAX232:

Page 131: ESCUELA SUPERIOR DE INGENIERÌA MÈCANICA Y ...2.3.1 PIC´s 25 2.3.2 PIC 16F877A 26 2.3.2.1 Características del PIC 16F877A. 26 2.4 TIPOS DE COMUNICACION. 39 2.4.1 Comunicación serial.

Anexo3

130

Anexo 3 diagrama de conexión del MAX232-PC-Microcontrolador.