97
UNIVERSIDAD DE LOS ANDES FACULTAD DE INGENIERÍA ESCUELA DE INGENIERÍA ELÉCTRICA IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE SENSORES Br. Chinappi P. José A. Mérida, Junio, 2009

IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

�UNIVERSIDAD DE LOS ANDES����

FACULTAD DE INGENIERÍA ESCUELA DE INGENIERÍA ELÉCTRICA

IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE SENSORES

Br. Chinappi P. José A.

Mérida, Junio, 2009

Page 2: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

UNIVERSIDAD DE LOS ANDES FACULTAD DE INGENIERÍA

ESCUELA DE INGENIERÍA ELÉCTRICA

IMPLEMENTACIÓN DE UN PROTOCOLO MODBUS EN REDES DE SENSORES

Trabajo de Grado presentado como requisito parcial para optar al título de Ingeniero

Electricista.

Br. Chinappi P. José A. Tutor: Prof. Francisco Viloria

Mérida, Junio, 2009

Page 3: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

UNIVERSIDAD DE LOS ANDES FACULTAD DE INGENIERÍA

ESCUELA DE INGENIERÍA ELECTRICA

IMPLEMENTACIÓN DE UN PROTOCOLO MODBUS EN REDES DE SENSORES

Br. Chinappi P. José A.

Trabajo de Grado, presentado en cumplimiento parcial de los requisitos exigidos para optar al título de Ingeniero Electricista, aprobado en nombre de la Universidad de Los Andes por el siguiente Jurado.

Prof. Emigdio Malaver C.I.

Prof. Orlando Ostos C.I.

Prof. Francisco Viloria C.I.

Page 4: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

����

ÍNDICE GENERAL

DEDICATORIA iiiAGRADECIMIENTOS ivRESUMEN vINTRODUCCIÓN 1

CAPÍTULO pp.

I GENERALIDADES 31.1 Justificación 31.2 Alcance 31.3 Limitaciones 41.4 Objetivos 4

1.4.1 Objetivo General 41.4.2 Objetivos Específicos 4

1.5 Ubicación del Área donde se Realizan las Pruebas 5

II MARCO TEÓRICO 62.1. Protocolo de Red 62.2. Especificaciones del Protocolo 72.3. Modelo de Referencia OSI 8 2.3.1 Capa Física 9 2.3.2 Capa de Enlace de Datos 9 2.3.3 Capa de Red 10 2.3.4 Capa de Transporte 10 2.3.5 Capa de Sesión 10 2.3.6 Capa de Presentación 11 2.3.7 Capa Aplicación 112.4. Descripción del Protocolo de Comunicaciones Modbus 112.5. Protocolos de Transmisión 13 2.5.1 Protocolo ASCII 13 2.5.2 Protocolo RTU 132.6. Verificación de Errores 14 2.6.1 Calculo del CRC 15 2.6.2 Verificación del LCR 162.7. Descripción de Algunas de las Funciones del Protocolo 16

Page 5: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

�����

2.7.1 Función 0 17 2.7.2 Función 1 y 2 17 2.7.3 Función 3 y 4 18 2.7.4 Función 5 19 2.7.5 Función 6 20 2.7.6 Función 7 20 2.7.7 Función 8 21 2.7.8 Función 11 22 2.7.9 Función 15 222.8. Mensajes de Error 252.9. Red de Sensores 262.10. Características de una Red de Sensores 26 2.10.1 Topología Dinámica 26 2.10.2 Variabilidad del Canal 26 2.10.3 Tolerancia a Errores 26 2.10.4 Consumo de Energía 26 2.10.5 Áreas de Aplicación 27 2.10.5.1 Entornos de Alta Seguridad 27 2.10.5.2 Sensores Ambientales 27 2.10.5.3 Sensores Industriales 27 2.10.5.4 Medicina 27 2.10.5.5 Sensores en Modbus 27

III HARDWARE 293.1 Consideraciones Practicas en el Diseño Electrónico 29 3.1.1 Condiciones Ambientales 29 3.1.2 Mejores Vías para Obtener la Información 29 3.1.3 Rango de Temperatura del Sensor 30 3.1.4 Tipo de Alimentación 30 3.1.5 Elementos Donde puede ser Implementado 303.2 Diseño del Hardware 303.3 Componentes 32 3.3.1 Microcontrolador 32 3.3.2 Reloj de Tiempo Real 35 3.3.3 Pantalla de Cristal Liquido 36 3.3.4 Comunicación Serial 36 3.3.5 Sensor de Temperatura LM35 38 3.3.6 Fuente de Alimentación 39 3.3.7 Simulaciones 40 3.3.8 Circuitos Impresos 40

IV SOFTWARE 514.1 Estructura General 514.2 Estructura del Esclavo 524.3 Estructura del Maestro 55

Page 6: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

������

4.4 Estructura del Programa General con Modbus 574.5 Interfaz Diseñada en Matlab 58 4.6.1 Diagrama de Flujo de la Interfaz en Matlab 61

V Resultados 62

CONCLUSIONES 66RECOMENDACIONES 69BIBLIOGRAFÍA 71ANEXOS 73�

Page 7: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

����

LISTA DE FIGURAS

FIGURA pp.1.1 Ubicación geográfica de área en estudio 52.1 Niveles del Sistema OSI 82.2 Calculo del CRC 152.3 Trama Genérica de las Subfunciones de Control de Esclavos 172.4 Petición y respuesta de la función. (funciones 1 y 2) 182.5 Petición y respuesta de la función (funciones 3 y 4) 192.6 Petición y respuesta de la función. (función 5) 192.7 Petición y respuesta de la función. (función 6) 202.8 Petición y respuesta de la función. (función 7) 212.9 Petición y Respuesta de la función. (función 8) 212.10 Petición y respuesta de la función. (función 11) 222.11 Petición y respuesta de la función. (función 15) 232.12 Trama de un mensaje de error 252.13 Estructura de una red de Sensores con Modbus 283.1 Diagrama de Bloques de los Esclavos 313.2 Diagrama de Bloques del Maestro 333.3 Identificación de los pines del PIC 18F452 343.4 Diagrama de Bloques del DS1307 353.5 Pantalla LCD 2x16 363.6 Ubicación de los pines y diagrama del MAX485 373.7 Ubicación de los pines y diagrama del MAX232 373.8 Presentación y aplicaciones típicas del LM35 383.9 Presentación del Regulador 7805 393.10 Esquema de Montaje de los Esclavos. (Simulación) 413.11 Esquema de Montaje del Maestro (Simulación) 423.12 Esquema de montaje de la Alimentación. (Simulación) 433.13 Esquema de montaje Maestro/Esclavo Modbus. (Simulación) 443.14 Esquema de montaje Prototipo Completo. (Simulación) 453.15 Tarjeta Impresa de Alimentación Diseñada 473.16 Tarjeta Impresa del Maestro Diseñada 483.17 Tarjeta Impresa de los Esclavos Diseñada 493.18 Tarjeta Impresa del Esclavo Diseñada Cara Inferior 503.19 Tarjeta Impresa del Esclavo Diseñada Cara Superior 504.1 Disposición de los Botones del Teclado 53

Page 8: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

���

4.2 Diagrama de Flujo para del Esclavo 544.3 Diagrama de Flujo para el Maestro 564.4 Diagrama de Bloques del Programa General 584.5 Interfaz Grafica para el Registro de Temperatura 604.6 Grafica del Esclavo 1 604.7 Grafica del Esclavo 2 614.8 Diagrama de Flujo de la Interfaz en Matlab 615.1 Prototipo Funcional Creado 625.2 Selección del Esclavo 635.3 Ajuste de Hora y Minutos 635.4 Envió de Datos al Esclavo 645.5 Recepción del Comando por parte del Maestro 645.6 Tarjeta de Alimentación Creada 65

Page 9: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

����

LISTA DE TABLAS

TABLA pp.2.1 Modelo ASCII 132.2 Modelo RTU 142.3 funciones Básicas y Códigos de Operación 162.4 Estructura de la consulta de la función 03 232.5 Estructura de la respuesta de la función 03 244.1 Modelo de Registro de Modbus 524.2 funciones de los botones del teclado 544.3 Direcciones del mapa de memoria de los Esclavos 55

Page 10: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

iv

AAAGGGRRRAAADDDEEECCCIIIMMMIIIEEENNNTTTOOOSSS���

A Dios a la Virgen y a San Benito, por llenar siempre mi vida de bendiciones y por darme la

sabiduría, entendimiento y paciencia para realizar exitosamente mi trabajo final de grado.

A mi Madre Aura Pérez y a mi Padre Wolfgang Chinappi, porque su apoyo, consejos,

dedicación y preocupaciones para que salga siempre exitoso en cualquier reto de mi vida, por

eso, infinitas gracias, para ustedes este nuevo logro.

A mi hermano Luis Miguel, por brindarme su apoyo y sobre todo su cariño de hermano

cuando más los necesite para ti también este nuevo logro un abrazo.

A mis Tías Esther e Italia Chinappi, por toda su ayuda y preocupación para que yo lograra

satisfactoriamente la etapa final de mi carrera.

A la familia González Pérez por recibirme en su hogar y hacer que ese fuese mi verdadera casa

y uno más de su familia.

A mi Tutor Profesor Francisco Viloria. Por su gran ayuda, buenos consejos y preocupación en

todo el desarrollo de este trabajo, muchas gracias.

A mis amigos Alejandro, Jesús y Mario, por su apoyo y ayuda para que pudiera culminar de la

mejor manera posible esta gran meta.

A Jesús Lacruz por su ayuda brindada en los momentos finales de la realización de este

trabajo.

Al Sr. Álvaro Araque. Técnico del Laboratorio de Comunicaciones por su valiosa ayuda al

momento de realizar los circuitos impresos. Gracias.

Page 11: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

iii

DDDEEEDDDIIICCCAAATTTOOORRRIIIAAA�

�������������� �� ��������������� �� �����������������������������������������������������������������

����������������������������������� ����������� �������� ��������������������

A mi madre Aura Pérez, a mi Padre Wolfgang Chinappi y a mi hermano Luis M. Chinappi,

por ser mi mayor inspiración y por quienes vale la pena cualquier sacrificio. Esto es por y para

ustedes. Los Amo.

Page 12: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

v

Br. José A. Chinappi P. Implementación del Protocolo Modbus en una Red de Sensores.

Universidad De Los Andes. Tutor: Prof. Francisco Viloria. Junio 2009.

RESUMEN

El avance tecnológico en esta época es muy notable, donde las medidas atmosféricas como temperatura, humedad, presión entre otras y sus instrumentos de medida no escapan a tan notables progresos. Es por ello que se requiere la innovación de los instrumentos de medición. Por consiguiente se tomo la decisión de realizar un diseño electrónico. El diseño se fundamenta en la implementación del protocolo de comunicaciones Modbus en una red de sensores, en este caso sensores de temperatura, el diseño consta de diversos componentes electrónicos dentro de los cuales tenemos: PIC 18f452 el cual es considerado el corazón del circuito, sensores de temperatura LM35 los cuales captan la temperatura para luego enviarla al PIC, DS1307 para que los datos a ser procesados estén acompañados del instante en que fueron tomados y por ultimo tenemos una pantalla LCD 2x16 en la cual se desplegaran los datos. De igual forma se desarrollo un programa en lenguaje “C” para manejar el sistema. Para el transporte de los datos se implemento el protocolo comercial de comunicación Modbus el cual se fundamenta en la estructura Maestro/Esclavo de forma serial. Luego para observar los datos recolectados en el computador se creó una interfaz diseñada en MATLAB, el cual por medio de un programa graficara la variable medida. Para probar el diseño se realizaron 3 circuitos impresos siendo el primero para el Maestro, y los dos siguientes para los Esclavos, los cuales a su vez van acompañados de un circuito de alimentación para cada uno por separados.

DESCRIPTORES: Modbus, PIC (Microprocesador), Maestro/Esclavo.

Page 13: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

INTRODUCCIÓN

Actualmente se vive en un mundo que cambia constantemente a un ritmo acelerado. Con el

correr del tiempo estos cambios han sufrido transformaciones, y la temperatura, a nivel

mundial, no escapa a esta realidad. Los cambios de temperatura nos obligan a la creación y

desarrollo de nuevos prototipos funcionales de medición a través de nuevos software y

hardware, es por ello que el siguiente trabajo tiene como finalidad la realización de un

prototipo funcional basado en la aplicación del protocolo de comunicaciones Modbus en una

red de sensores de temperatura, entendiéndose por protocolo de comunicación, el conjunto de

reglas que especifican el intercambio u ordenes durante la comunicación entre las entidades

que forman parte de una red.

Los Microcontroladores (Pic) que conforman el prototipo están programados en un lenguaje

de programación de alto nivel llamado “C”, la temperatura se obtiene del sensor LM35; para

luego guardar el dato adquirido en la memoria interna del PIC y enviarlo del Esclavo al

Maestro cuando así este lo solicite usando el protocolo Modbus que es el encargado de la

comunicación por medio de la estructura Maestro/Esclavo, para luego enviar el dato a la

computadora por medio de la comunicación serial

Esta investigación está estructurada de la siguiente forma:

El capítulo I, lo conforman lo las llamadas generalidades, donde se encuentran los objetivos,

alcance, limitaciones, antecedentes y una pequeña ubicación geográfica del área donde se

realizarán las pruebas.

El capítulo II, titulado marco teórico, se presentan las bases teóricas que fundamentan el

prototipo funcional y definición de términos básicos.

Page 14: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

���

En los capítulos III y IV, se encuentra el marco metodológico, el cual presenta el tipo de

investigación y herramientas a desarrollar a lo largo del trabajo, este se desglosa en el capítulo

III que es el diseño del hardware y por su parte el capítulo IV es el diseño del software.

Por último en el capitulo V se presenta lo que son los resultados y para finalizar el Trabajo de

Grado con lo que son conclusiones y recomendaciones a las cuales se llegaron.

Page 15: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

CAPÍTULO I

GENERALIDADES

En el capítulo I se explica las generalidades del Trabajo de Grado, que se fundamenta en los

aspectos básicos y objetivos a alcanzar en el prototipo funcional, a su vez se plantea el alcance

y limitaciones del mismo, dando una breve descripción geográfica del área a realizar las

pruebas.

1.1 JUSTIFICACIÓN

La recolección de datos es una tarea que conlleva a la producción de errores humanos, que se

traducen en trascripcion de datos erróneos, perdida de datos, entre otros. Si la cantidad de

datos involucra una serie de sensores, los problemas se hacen mayores. Estos problemas

pueden minimizarse si los sensores tienen capacidad para almacenar datos, pero aun existe el

problema de la recoleccion de las medidas realizadas en cada uno de ellos. Para solucionar

esto se requiere la implementación de una red de sensores y desarrollar el protocolo de

comunicaciones necesario.

1.2 ALCANCE

Es de gran importancia la realización de un estudio basado en una red de sensores de

temperatura controlada por Modbus, ya que con el desarrollo de dicho proyecto se lograra

visualizar el comportamiento de la temperarutara ambiente presente en un determinado lugar,

Page 16: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

���

mediante un computador. A su vez crear una base de datos y registro de temperatura del area

en estudio para futuros proyectos o ¿porque no? la continuacion de dicho trabajo. Tambien se

logrará la disminución de errores para obtener mayor precision al momento de realizar las

medidas, como también estudiar el protocolo de comunicación Modbus.

1.3 LIMITACIONES

La limitaciòn más importantes para la realización del trabajo, fue la poca presencia de los

implementos a utilizar en la construcción del protoptipo, los materiales son escasos en la

ciudad de Mérida y su obtensión es a través de otras vías, nacionales e internacionales.

1.4 OBJETIVOS

1.4.1 Objetivo General

Implementar el protocolo de comunicación Modbus en un sistema básico de adquisición de

datos autónomo.

1.4.2 Objetivos Específicos

• Diseñar y construir un prototipo para un sistema básico de adquisición de datos

basados en el Microcontrolador 18F452.

• Implementar rutinas para el almacenamiento de datos de las medidas.

• Implementar el protocolo Modbus en el prototipo de adquisición de datos.

• Implementar una red de sensores de temperatura controlado por Modbus.

• Especificar las funciones que se implementaran en el protocolo.

• Desarrollar el software necesario en una computadora para usar el protocolo creado.

• Evaluar el desempeño del protocolo.

Page 17: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

���

1.5 UBICACIÓN DEL ÁREA DONDE SE REALIZARAN LAS PRUEBAS

El área de estudio se ubica en los Andes Venezolanos, en el Occidente de Venezuela,

específicamente en la zona Metropolitana del Municipio Libertador, en la Av. Don Tulio

Febres Cordero en LABIDAI, como se muestra en la figura 1.1.

Fig.1.1 Mapa Político Territorial del Estado Mérida e Imagen de Satélite de la zona de estudio

(www.a-venezuela.com/.../imag/1estados/merida.jpg y Google Earth 4.2 Beta.)

Page 18: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

��

CAPÍTULO II

MARCO TEORICO

El siguiente capítulo tiene como finalidad conceptualizar los diferentes elementos gramaticales

que integran el trabajo de grado titulado: IMPLEMENTACIÓN DEL PROTOCOLO

MODBUS A UNA RED DE SENSORES.

Antes de empezar a describir en si lo que es el protocolo de comunicaciones Modbus se

presenta un pequeño resumen de lo que es un Protocolo de comunicaciones y sus

especificaciones.

2.1 PROTOCOLO DE RED O TAMBIÉN PROTOCOLO DE

COMUNICACION

“Es el conjunto de reglas que especifican el intercambio de datos u órdenes durante la

comunicación entre las entidades que forman parte de una red”. [García 2001].

Los protocolos son normas de comunicación que toleran el flujo de información entre

computadoras que operan con distintos lenguajes, por ejemplo, dos computadoras conectados

en la misma red pero que difieran del protocolo no podrían comunicarse de ningún modo, para

ello, es necesario que ambas "hablen" el mismo idioma, en tal sentido, el protocolo TCP/IP fue

creado para las comunicaciones en Internet, para que las computadoras establecieran un

mismo lenguaje y así pudieran comunicarse entre sí. Su funcionalidad es:

Page 19: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

��

• Confinar un ordenador de forma axiomática.

• Establecer una conexión con otro ordenador.

• Permitir intercambiar información entre ordenadores de forma segura, independiente

del tipo de maquinas que estén conectadas.

• Abstraer a los usuarios de los enlaces utilizados (red telefónica, radioenlaces, etc.) para

el intercambio de información.

• Liberar la conexión de forma ordenada.

Estos protocolos pueden estar implementados bien en hardware (tarjetas de red), software

(drivers), o una combinación de ambos.

2.2 ESPECIFICACIÓN DE PROTOCOLO

Un protocolo se caracteriza por

• Sintaxis: En ella se especifica como son y cómo se construye el protocolo.

• Semántica: Representa cada comando o respuesta del protocolo respecto a sus

parámetros o datos.

• Procedimientos de uso de esos mensajes: Es lo que se realiza mediante un lenguaje

de programación, es decir esto es lo que se programa.

Page 20: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

���

2.3 MODELO DE REFERENCIA OSI

“El modelo de referencia de Interconexión de Sistemas Abiertos (OSI, Open System

Interconnection) lanzado en 1984, fue el modelo de red descriptivo creado por la Organización

Internacional para la Normalización (ISO); esto es, un marco de referencia para la definición

de arquitecturas de interconexión de sistemas de comunicaciones”. [Alarcón 2004].

En el campo de la informática los protocolos se pueden clasificar en diversas categorías siendo

la más estudiada el modelo de referencia OSI.

Según la clasificación OSI, la comunicación se puede estudiar dividiéndola en 7 niveles (ver

fig. 2.1), que van desde el nivel superior hasta su nivel inferior como a continuación se

muestra:

Figura 2.1 Niveles del sistema OSI (www. wikipedia.org/wiki/Capa_de_aplicación)

Page 21: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

���

2.3.1 Capa Física (Capa 1)

Como su nombre lo indica, es la Capa Física del modelo de referencia OSI. Es la que se

encarga de las conexiones físicas de la computadora hacia la red.

Sus principales funciones se pueden resumir como:

• Concretar el medio o medios físicos por los que va a viajar la comunicación: cable de

pares trenzados, coaxial, guías de onda, aire, fibra óptica, entre otros.

• Definir las características materiales tanto mecánicos (componentes y conectores

mecánicos) como eléctricas (niveles de tensión) que se van a usar en la transferencia

de los datos por los medios físicos.

• Especificar las características funcionales de la interfaz.

• Verificar el transporte de bits a través del medio.

• Manipular las señales eléctricas/electromagnéticas.

• Garantizar la conexión más no la fiabilidad de ésta.

2.3.2 Capa de Enlace de Datos (Capa 2)

Esta capa es la encargada de direccionar los datos en el medio físico según sea la estructura de

la red, además notifica si ha ocurrido algún error y controla el flujo en las tramas. Así como

también establecer los límites de las tramas y solucionar cualquier problema que en ellas se

presente. A su vez, aligerar el trafico de manera tal que la velocidad de la trama sea la misma

en el receptor que en el emisor.

Page 22: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

���

2.3.3 Capa de Red (Capa 3)

La tarea de la capa de red es hacer que los datos alcancen su trayectoria completa, es decir,

que lleguen desde el origen hasta el destino sin que se pierda un dato por el camino aún

cuando ambos no estén conectados directamente. Para facilitar tal tarea encontramos los

dispositivos conocidos como enrutadores o routers.

Auxiliarmente la capa de red es la encargada de controlar la congestión en los nodos para

evitar que la saturación completa de la red. (Similar a esto un colapso en un cruce de una

arteria vial importante en una gran ciudad).

2.3.4 Capa de Transporte (Capa 4)

Es la encargada de aceptar los datos enviados por las capas superiores, fragmentarlos en

pequeñas partes si es necesario, y pasarlos a la capa de red.

Como su nombre lo expresa esta capa se encarga de transportar los datos del lugar de origen al

lugar de destino. Independientemente de la red física que este en uso.

2.3.5 Capa de Sesión (Capa 5)

Es la encargada de establecer, gestionar y finalizar las conexiones entre usuarios. Ofrece

varios servicios que son cruciales para la comunicación, como son:

• Controlar la sesión entre el emisor y el receptor (quién envía, quién recibe y su

trayectoria).

• Establecer puntos de chequeo (checkpoints), que sirvan para que, ante una interrupción

de transmisión por cualquier causa, la comunicación se pueda reanudar desde el último

punto de verificación en lugar de repetirla desde el principio.

En conclusión esta capa es la encargada de asegurar de que una sesión ya establecida no sufra

ningún tipo de alteraciones y sea efectuada de principio a fin, reanudándola en caso de

interrupciones.

Page 23: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

��

2.3.6 Capa de Presentación (Capa 6)

Es la encargada de la representación de la información, de manera tal que si se utilizan

diferentes representaciones de caracteres (ASCII, UNICODE), números, sonidos e imagines,

la información llegue de manera reconocible al lugar de destino.

Por lo tanto, podemos resumir definiendo a esta capa como la encargada de manejar las

estructuras de datos abstractas y realizar las conversiones de representación de datos

necesarias para la correcta interpretación de los mismos. Esta capa también permite cifrar los

datos y comprimirlos. En pocas palabras es un traductor.

2.3.7 Capa de Aplicación (Capa 7)

Es la que permite al usuario por medio de programas acceder a los servicios de las demás

capas, esta se hace debido a la complejidad que la programación pueda presentar. A su vez,

ésta define el protocolo a implementar en las diversas funciones de intercambio de datos.

2.4 DESCRIPCIÓN DEL PROTOCOLO DE COMUNICACIONES

MODBUS

Es un protocolo de comunicaciones situado en el nivel 2 del Modelo de Referencia de

Interconexión de Sistemas Abiertos (OSI), basado en la arquitectura Maestro/Esclavo o

cliente/servidor, diseñado en 1979 por Modicon para su gama de controladores lógicos

programables (PLCs).

Es un protocolo de comunicaciones estándar, y dentro de la industria es el que posee mayor

aceptabilidad para la conexión de dispositivos electrónicos e industriales. Sus razones:

•••• Es público.

•••• Su implementación es fácil.

•••• Requiere poco desarrollo.

Page 24: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

���

•••• Maneja bloques de datos sin suponer restricciones.

•••• Su velocidad va desde los 75 bps hasta los 19200 bps.

•••• Las tramas pueden alcanzar 1200 metros sin repetidoras.

•••• Es un sistema Maestro/Esclavo.

Una comunicación Modbus es iniciada por el Maestro y este puede hacer una transacción a la

vez, el maestro emite sus peticiones de dos modos:

• En modo Unicast, donde el Maestro se dirige al Esclavo en forma individual. El

Esclavo después de recibir y procesar la información devuelve una respuesta al

Maestro. Es decir que aquí la comunicación se realiza de modo que existan 2 mensajes

un primer mensaje que sería la petición del maestro y un segundo mensaje el cual sería

la respuesta del esclavo.

• En modo Broadcast (difusión), donde el maestro puede enviar peticiones a todos os

Esclavos presentes en la trama. La difusión no es confirmada ya que ninguna respuesta

es devuelta a la petición, es decir no hay garantía del mensaje, por lo tanto este modo

solo debe ser empleado en datos no críticos como por ejemplo el reset, datos comunes

de sincronización entre otros.

Los nodos Esclavos no trasmiten datos sin una petición del Maestro, y no se comunican con

otros Esclavos. Solo un maestro está conectado al bus y uno o varios (247) nodos de esclavo

están también conectados al mismo bus.

Un mensaje Maestro/Esclavo en Modbus contiene:

• Dirección de Esclavo.

• Comando.

• Datos.

• Códigos para verificación.

Modbus permite el control de una red de dispositivos, por ejemplo un sistema de medida de

temperatura, comunicando los resultados a un computador.

Page 25: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

���

2.5 PROTOCOLOS DE TRASMISIÓN

2.5.1 PROTOCOLO ASCII: Es una representación legible del protocolo pero menos

eficiente y cada byte está representado como dos caracteres ASCII.

ASCII utiliza una suma de control de redundancia longitudinal (LRC), a continuación en la

tabla 2.1 observamos la trama de modelo ASCII aplicada en el protocolo Modbus.

Tabla 2.1 Trama del modelo ASCII

COMIENZO DIRECCION FUNCION DATOS LCR FIN

: 2

CARACTERES

2

CARACTERES

0 HASTA

2X252 CARACTERES

2

CARACTERES

CR/LF

2.5.2 PROTOCOLO RTU: RTU que es una representación binaria compacta de los datos. El

formato RTU finaliza la trama con una suma de control de redundancia cíclica (CRC) de 16

bits para la detección de errores de transmisión, como se observa en la tabla 2.2. La mensajería

RTU es libre de estados. Es importante al momento de utilizar el protocolo RTU que los

mensajes sean enviados como flujo constante de caracteres sin interrupción, si hay una

interrupción de más de 3.5 veces el tiempo de transmisión, de un carácter, un dispositivo

interpretara esto como el final de la trama y descartara los bits restantes a recibir.

La mensajería RTU es libre de estados. No hay necesidad de abrir o cerrar conexiones a un

dispositivo Esclavo particular o de procedimientos especiales de reconocimiento de errores.

Page 26: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

���

Tabla 2.2 Trama del modelo RTU

DIRECCION DEL

ESCLAVO

FUNCION DATOS CRC

1 BYTE 1 BYTE 0 HASTA 252

BYTES

CRC

BAJO

CRC

ALTO

2.6 VERIFICACION DE ERRORES

Dos tipos de verificación son empleados dependiendo del protocolo de trasmisión

implementado, estos son ASCII y RTU.

En el modo RTU, los mensajes incluyen un modo de chequeo de redundancia cíclica (CRC).

En el modo ASCII el chequeo se basa en un modo de redundancia longitudinal (LRC).

En la figura 2.2 se observa el diagrama de flujo o la codificación para el cálculo del control de

redundancia cíclica (CRC) en la trama RTU, el cual es empleado para chequear el contenido

del mensaje completo. Es aplicado sin importar cualquier método de chequeo de paridad usado

para caracteres individuales del mensaje.

El CRC es el método de verificación errores más implementado, en los diversos protocolos de

comunicaciones debido a su versatilidad y robustez al momento de la revisión de errores.

El cálculo del CRC es comenzado al precargar primero un registro de 16 bits de puros 1.

Page 27: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

���

2.6.1 Cálculo del CRC codificación RTU:

Figura 2.2 Cálculo del CRC

Page 28: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

���

2.6.2 Verificación del LRC.

El control de redundancia Longitudinal (LRC) es una secuencia de 8 bits o un byte el cual es

calculado al añadir de manera consecutiva bytes del mensaje, descartando cualquier acarreo y

luego agregando complemento a 2 al resultado.

2.7 DESCRIPCIÓN DE ALGUNAS DE LAS FUNCIONES DEL

PROTOCOLO

A continuación se presenta en la tabla 2.3 una lista de funciones disponibles en el protocolo

Modbus con sus correspondientes códigos de operación:

Tabla 2.3 Funciones básicas y códigos de operación

FUNCION CODIGO TAREA 0 00H Control de estaciones

Esclavas 1 01H Lectura de n bits de salida

2 02H Lectura de n bits de entradas

3 03H Lectura de n palabras de salida

4 04H Lectura de n palabras de entrada

5 05H Escritura de un bit

6 06H Escritura de una palabra

7 07H Lectura rápida de 8 bits

8 08H Control de contadores del 1 al 8

9 09H No utilizado

10 0AH No utilizado

Page 29: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

��

11 0BH Control de contadores # 9

12 0CH No utilizado

13 0DH No utilizado

14 0EH No utilizado

15 0FH Escritura de n bits

16 10H Escritura de n palabras

2.7.1 Función 0: Permite ejecutar órdenes de control, tales como marcha, paro, carga y

lecturas de programas del usuario como se muestra en la figura 2.3:

# Esclavo

(00-3H)

00H Código de la

Subfuncion

SF0 SF1

Datos de la

Subfuncion

D0 D1

Información CRC

(16)

H L

Figura 2.3 Trama genérica de las subfunciones de control de esclavos

2.7.2 Funciones 1 y 2: Lectura de bits. La forma de direccionamiento de los bits es a base de

dar la dirección de la palabra que los contiene y luego la posición del bits como se observa en

la figura 2.4.

Page 30: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

���

Petición del Maestro

# Esclavo

(00-3H)

01H

02H

Dirección

1ª Bit

PP PB

# de

Bits

NN NN

CRC

H L

Respuesta del Esclavo

# Esclavo

(00-3H)

01H

02H

# de Octetos

Leídos

NN NN

1ª Octeto

57…B0

Otras

palabras

Max.

255

CRC

H L

Figura 2.4 Petición y respuesta de la función

2.7.3 Funciones 3 y 4: Lecturas de palabras. La petición indica el número de palabras al leer,

mientras que la respuesta se indica los números de octetos leídos, como nos indica la figura

2.5.

Petición del Maestro

# Esclavo

(00-3H)

03H

04H

Dirección

1ª Palabra

PP PP

# de

Palabras

DD DD

CRC

H L

Page 31: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

���

Respuesta del Esclavo

# Esclavo

(00-3H)

03H

04H

# de Octetos

Leídos

NN NN

1ª Palabra

H L

Otras

palabras

Max.

128

CRC

H L

Figura 2.5 Petición y respuesta de la función

2.7.4 Función 5: Escritura de un bit. El direccionamiento del bit se efectúa tal y como se ha

indicado para las funciones 1 y 2 (ver fig. 2.6).

Petición del Maestro

# Esclavo

(00-3H)

05H Dirección

Bit

PP PB

XXH 00H CRC

H L

PPP= Dirección de la palabra (hex.) B= dirección del Bit dentro de la palabra 0 a FH

Respuesta del Esclavo

# Esclavo

(00-3FH)

05H Dirección

Bit

PP PB

XXH 00H CRC

H L

XXH = 00H para bit =0 y XXH = FFH para bit = 1

Figura 2.6 Petición y respuesta de la función

Page 32: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

����

2.7.5 Función 6: Escritura de una palabra, es como lo muestra la figura 2.7.

Petición del Maestro

# Esclavo

(00-3FH)

06H Dirección

Palabra

PP PP

Valor

Palabra

DD DD

CRC

H L

Respuesta del Esclavo

# Esclavo

(00-3FH)

06H Dirección

Palabra

PP PP

# de

Palabras

DD DD

CRC

H L

Figura 2.7 Petición y respuesta de la función

2.7.6 Función 7: Petición de lectura rápida de un octeto. La petición no tiene campo de

dirección, esto es debido a que el octeto legible por esta función es fijo en cada esclavo y

viene fijado en su configuración (ver fig. 2.8).

Petición del Maestro

# Esclavo

(00-3FH)

07H CRC

H L

Page 33: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

� ��

Respuesta del Esclavo

# Esclavo

(00-3FH)

07H Valor

Octeto

D0

CRC

H L

Figura 2.8 Petición y respuesta de la función

2.7.7 Función 8: Petición del contenido y control de los 8 primeros contadores de diagnostico

de un esclavo, como lo muestra la figura 2.9:

Petición del Maestro

# Esclavo

(00-3FH)

08H Código

Subfunción

SF0 SF1

Dato

Subfunción

D0 D1

CRC

H L

Respuesta de Esclavo

# Esclavo

(00-3FH)

08H Código

Subfunción

SF0 SF1

Dato

Subfunción

D0 D1

CRC

H L

Figura 2.9 Petición y respuesta de la función

Page 34: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

����

2.7.8 Función 11: Petición del contenido del contador de diagnostico numero 9 (ver fig. 2.10).

Petición del Maestro

# Esclavo

(00-3FH)

08H CRC

H L

Respuesta de esclavo

# Esclavo

(00-3FH)

08H 00 00 Valor

Contador

CRC

H L

Figura 2.10 Petición y respuesta de la función

2.7.9 Función 15: Escritura de bits del autómata (ver fig.2.11).

Petición del Maestro

# Esclavo

(00-3FH)

0FH Dirección

1er Bit

PP PB

# de Bits

NN NN

# de

Octetos

M

Valor de

los bits

8xM

valores

CRC

H L

Page 35: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

����

Respuesta del Esclavo

# Esclavo

(00-3FH)

0FH Dirección

1er Bit

PP PB

# de Bits

NN NN

CRC

H L

Figura 2.11 Petición y respuesta de la función

Los valores internos en un dispositivo Modbus se encuentran almacenados en registros de

almacenamiento. Estos registros son de 2 bytes y pueden ser utilizados para varios propósitos.

Algunos contienen parámetros de configuración y otros son utilizados para devolver valores

medidos (temperatura, entre otros) al servidor. Los registros en un dispositivo con Modbus

comienzan a enumerarse desde el 40001. Ellos son direccionados en la estructura del mensaje

Modbus con direcciones que comienzan en 0. La función 3 es utilizada para solicitar valores

de uno o más registros de almacenamiento de un dispositivo. Solo un esclavo puede ser

consultado a la vez. En la tabla 2.4 se observa de una manera más desglosada como está

estructurada la función 03.

Tabla 2.4 Estructura de la consulta de la función 03

BYTE VALOR DESCRPCION

1 1…247 DIRECCION DEL ESCLAVO

2 3 CODIGO DE LA FUNCION

3 0…255 DIRECCION DE ARRANQUE, BYTE

SUPERIOR

4 0…255 DIRECCION DE ARRANQUE, BYTE

INFERIOR

Page 36: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

����

5 0…255 NUMERO DE REGISTROS, BYTE

SUPERIOR

6 0…255 NUMERO DE REGISTROS, BYTE

INFERIOR

7(…8) CRC(LCR) VALOR DEL CHEQUEO DE ERROR

Después de procesar la solicitud, el esclavo retorna valores de 16 bits de los registros de

almacenamientos solicitados.

Debido al tamaño de los registros de almacenamiento, cada registro esta codificado con 2

bytes en el mensaje de respuesta. El primer byte de dato contiene el byte más alto y el segundo

el byte más bajo. El mensaje de respuesta de Modbus comienza con la dirección del

dispositivo esclavo y el código de la función 03. El próximo byte es el número de bytes de

datos que siguen este valor es el doble de los registros retornados. Un chequeo de error es

agregado para que el maestro pueda verificar si ocurrió error en la comunicación, de igual

manera que en la parte anterior (consulta) en la tabla 2.5 encontramos como se estructura la

respuesta de la función 03.

Tabla 2.5 Estructura de la respuesta de la función 03

BYTE VALOR DESCRPCION

1 1…247 DIRECCION DEL ESCLAVO

2 3 CODIGO DE LA FUNCION

3 2*N NUMEROS DE BYTES A ENVIAR

Page 37: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

����

4 0…255 REGISTROS, BYTE SUPERIOR

M-2 0…255 REGISTROS, BYTE INFERIOR

M-1(…M) LCR/CRC VALOR DEL CHEQUEO DE ERROR

M=Tamaño de la Trama N= Cantidad de registros

2.8 MENSAJES DE ERROR

Puede ser que un mensaje se interrumpa antes de culminar. Cada esclavo interpreta que el

mensaje a terminado si transcurre un tiempo de silencio equivalente a 3.5 caracteres. Después

de ese tiempo el esclavo considera que el carácter siguiente es el campo de dirección de

esclavo de un nuevo mensaje.

Cuando un esclavo recibe una trama incompleta o errónea desde el punto de vista lógico, envía

un mensaje de error como respuesta, excepto en el caso de mensaje de difusión como se

explica en la figura 2.12.

Respuesta del Esclavo

# Esclavo

(00-64)

Código

Función

Código

Error

CRC

H L

Figura 2.12 Trama de un mensaje de error

Page 38: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

����

2.9 RED DE SENSORES

“Una red de sensores (del inglés sensor network) es una red de ordenadores conformado por

pequeñísimos (nodos), equipados con sensores, que colaboran en una tarea común”. [Hill

2001].

“Las redes de sensores es un concepto relativamente nuevo en adquisición y tratamiento de

datos con múltiples aplicaciones en distintos campos tales como entornos industriales,

domótica, entornos militares, detección ambiental”. [Hill 2001].

2.10 CARACTERÍSTICAS DE UNA RED DE SENSORES

2.10.1 Topología Dinámica: Las redes de sensores presentan una topología que varía según

sea su aplicación, estas se deben adaptar para de esta manera comunicar los datos adquiridos.

2.10.2 Variabilidad del Canal: La variabilidad del canal presenta una serie de fenómenos

como pueden ser la atenuación, desvanecimientos rápidos, desvanecimientos lentos e

interferencias que puede producir errores en los datos.

2.10.3 Tolerancia a Errores: Una red de sensores y en este caso un dispositivo sensor

integrante de la red debe estar en capacidad de seguir en funcionamiento a un cuando la red

presente algún tipo de error en su sistema.

2.10.4 Consumo de Energía: “Es uno de los factores más sensibles debido a que tienen que

conjugar autonomía con capacidad de proceso, ya que actualmente cuentan con una unidad de

energía limitada. Un nodo sensor tiene que contar con un procesador de consumo ultra bajo así

como de un transceptor radio con la misma característica, a esto hay que agregar un software

que también conjugue esta característica haciendo el consumo aún más restrictivo”. [Hill

2001].

Page 39: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

���

2.10.5 Áreas de aplicación

2.10.5.1 Entornos de Alta Seguridad: “En la actualidad es una de las aplicaciones más

comunes, debido a que se implementan redes de sensores en lugares estratégicos para evitar

algún tipo de ataque. Dentro de estos entornos encontramos aeropuertos, edificios

gubernamentales, entre otros. Gracias a una red de sensores se pueden detectar situaciones

irregulares que con una simple cámara sería imposible detectar”. [Hill 2001].

2.10.5.2 Sensores Ambientales: “Seguidamente de los entornos de alta seguridad nos

encontramos con el control ambiental. El cuidado de extensas áreas de bosque o de océanos,

sería imposible sin las redes de sensores. El control de múltiples variables, como temperatura,

humedad, fuego, actividad sísmica así como otras. También ayudan a especialistas a definir o

prevenir un problema o urgencia”. [Hill 2001].

2.10.5.3 Sensores Industriales: Cabe destacar que dentro de las fábricas existen diversos

sistemas de control, lo cual hace necesario la aplicación de las redes de sensores dentro de

éstas.

2.10.5.4 Medicina: Es uno de los campos que presenta gran auge. Debido a la reducción que

presentan los nuevos dispositivos electrónicos que ayudan a mantener la calidad de vida de

algunos pacientes que requieren de estos dispositivos, ya que se encargan de controlar sus

constantes vitales (pulsaciones, presión, nivel de azúcar en sangre, etc.), en el futuro seria una

de las aplicaciones de mayor avance y positiva contribución para la comunidad en general.

2.10.5.5 Sensores con Modbus: Se trata de una red donde el tipo de información que se

intercambia corresponde a datos simples (bits) con el estado de sensores, actuadores o un poco

más compleja (bytes) con información de diagnóstico de dispositivos, valores de variables

analógicas, configuración de dispositivos, entre otros.

Estos sensores se pueden vincular a una red de comunicación con protocolo MODBUS

operando como Esclavo, mediante el bus RS-485, el cual es el Doble par trenzado, velocidad

hasta 10 Mbps, distancia máxima 1200 mts, multipunto. Como el que presentara este trabajo

Page 40: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

����

de grado. Esta posibilidad permite relacionarse con cualquier computador corriendo un

software de control, supervisión o adquisición de datos.

El diseño del módulo de Comunicaciones Esclavo Modbus debe cumplir ciertas condiciones

de tipo general, como por ejemplo el hecho de que el prototipo funcional debe interconectarse

con diferentes dispositivos de Entrada/Salida.

Adicionalmente, al tratarse de un sistema que deberá acoplarse al protocolo Modbus, el

hardware debe diseñarse de tal forma que de soporte eficiente al mismo para así aprovechar de

la mejor manera todas las características que nos proporciona el protocolo.

En la siguiente figura observaremos como es la estructura de una red de sensores Modbus, la cual está conformada por una serie de Esclavos y un Maestro, el cual es el encargado de pedir las ordenes que se necesiten para que los Esclavos respondan a sus peticiones:

Figura 2.13 Estructura de una red de Sensores con Modbus

Page 41: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

CAPÍTULO III

DISEÑO DEL HARDWARE

En este capítulo se explicar todo lo que tiene que ver con el diseño y creación del Prototipo

Funcional (hardware), además de contiene los dispositivos electrónicos implementados así

como también las simulaciones y diseños de los circuitos impresos.

3.1 CONSIDERACIONES PRÁCTICAS EN EL DISEÑO ELECTRÓNICO

Para la realización del hardware se toma en cuenta ciertos aspectos que se consideraron que

son importantes al momento del diseño electrónico:

3.1.1 Condiciones ambientales

El prototipo funcional podrá realizar sus funciones en lugares donde no esté sometido a altas

temperaturas debido a que va a ser elaborado de forma artesanal y sencilla, con la finalidad

que sea lo menos costoso posible.

3.1.2 Las mejores vías para obtener la información necesaria

El prototipo implementara el protocolo Modbus para el intercambio de información, debido a

las características que este presenta las cuales hacen del prototipo un dispositivo versátil y de

fácil implementación.

3.1.3 Rango de temperatura del sensor utilizado: El sensor implementado posee un rango

de medición de temperatura que va desde los – 55 ºC a 150 ºC.

Page 42: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

����

3.1.4 Tipo de alimentación

Esta es por separado, es decir cada sistema lleva su propia alimentación, para facilitar su

manejo y transporte al momento de ponerlo en práctica.

3.1.5 Elementos donde pueda ser implementado

El prototipo pude ser implementado en elementos o dispositivos que manejan el rango de la

temperatura ambiente.

3.2 DISEÑO DEL HARDWARE

Tomando en cuenta los recursos disponibles y las consideraciones antes mencionadas es

necesario proceder al diseño del hardware, el cual es uno de los pilares fundamentales del

prototipo funcional.

El diseño del Hardware comprende tres etapas, las cuales son las siguientes: la primera etapa

que es la que comprende las simulaciones y búsqueda de los componentes electrónicos a

utilizar. La segunda etapa tiene que ver más con lo que es el prototipo, debido a que ya se

realizaron las simulaciones y se conoce los componentes a utilizar, en esta etapa se realizan

las pruebas al prototipo para pasar a la tercera y última etapa que consiste en la realización de

los circuitos impresos.

El primer circuito impreso utilizado para los Esclavos, se fundamenta en la comunicación

serial, usando el estándar 485, consta de un pic 18F452 el cual es considerado el dispositivo

principal del circuito impreso, motivado a que es el encargado de procesar las señales y, a su

vez, en su memoria interna, almacenar los valores de la variable medida (temperatura), los

cuales se obtienen por medio del sensor de temperatura LM35 para ser enviados al maestro

cuando este así lo solicite.

Para hacerlo más práctico se le agregó una pantalla LCD acompañada de un teclado, de

manera tal que el usuario interactué con el dispositivo. Con el teclado el usuario puede

cambiar en el instante de tiempo en que se desee la medida, desplegando en la pantalla las

opciones para el ajuste de la misma, ya sea horas o en minutos. A continuación se presenta un

Page 43: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

� ��

diagrama de bloques (fig. 3.1) de lo que es la primera tarjeta impresa que en este caso tiene

que ver con los Esclavos:

Figura 3.1 Diagrama de Bloques de los Esclavos

El segundo circuito diseñado es el del Maestro. En él están presentes dispositivos similares a

los utilizados en el Esclavo, solo que aquí desempeñan distintas funciones y a diferencia del

primer circuito impreso éste posee un Max232 el cual se utiliza para establecer la

comunicación entre el Microprocesador y la Computadora.

Al igual que en el circuito diseñado para los Esclavos, el Maestro presenta un PIC18F452 el

cual es el encargado de solicitar a los esclavos la información requerida para procesarla y

luego enviarla al computador para su respectiva representación grafica. La comunicación entre

Page 44: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

����

el Esclavo y el Maestro se lleva a cabo gracias al dispositivo RS485 en forma serial, de igual

manera el circuito a diseñar consta de un reloj DS1307 para obtener datos en una base de

tiempo y una pantalla LCD 2x16 para la visualización de los datos. En este caso el teclado que

posee la tarjeta está compuesto primero por dos botones que sirven para indicar a cuál de los

Esclavos vamos a pedir la información, seguidamente posee botones para ajuste de tiempo,

también consta de dos botones adicionales para resetear desde el Maestro ambos Esclavos. A

continuación en la figura 3.2 se representa mediante un diagrama de bloques la función del

sistema completo.

Por último, el tercer circuito impreso es la encargado de suministrar la energía necesaria para

que las tarjetas anteriores funcionen de una manera optima, cada tarjeta impresa (Esclavo

/Maestro) llevará por separado una de estas tarjetas de alimentación lo cual facilita la

portabilidad del dispositivo.

Básicamente su función es transformar el voltaje proveniente de una fuente exterior al voltaje

adecuado para el funcionamiento de los circuitos, esto se realiza mediante un regulador 7805

acompañado de una serie de capacitores. De igual forma está presente en esta tarjeta una

conexión extra de un MAX232 para posteriores aplicaciones (ver fig. 3.12).

3.3 COMPONENTES

3.3.1 Microcontrolador

Es importante incorporar al prototipo un dispositivo capaz de procesar y almacenar varias

señales a la vez y que lo hiciera a una velocidad relativamente rápida, todo esto teniendo en

cuenta la disminución de los costos y de consumo de energía eléctrica es por ello que se

Page 45: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

����

Figura 3.2 Diagrama de Bloques del Maestro

decide utilizar el Microcontrolador (PIC) 18F452, el cual lo observamos en la figura 3.3.

Destacándose las siguientes características (Ver anexo 1):

• 32 Kbit de memoria de programa, la cual es suficiente para el programa diseñado para

el prototipo. Esta memoria es flash, lo cual permite ser sobrescrita 100000 veces, lo

cual hace posible la corrección u actualización del código allí guardado.

• Convertidor analógico digital de 10 bits 8 canales, el cual es el encargado del

procesamiento de la señal.

Page 46: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

����

• Tensiones de operación que van desde los 2,5 V hasta los 5 V.

• 256 bytes de memoria interna.

• Puertos analógicos y digitales, A, B, C, D, E, los cuales permiten la conexión de los

sensores o cualquier otro dispositivo que se necesite.

• Puerto serial, el cual puede operar de modo full-dúplex y que soporta el protocolo RS-

485.

• Soporte para dispositivos I²C, tales como el reloj de tiempo real.

• Convertidor analógico/digital de 10 bits 8 canales.

Figura 3.3 Identificación de los pines del PIC 18F452 (http://www.microchipPic-18FXX2- Data

Sheet.com)

Page 47: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

����

3.3.2 Reloj de Tiempo Real

Se implementa un reloj de tiempo real como el que se describe en la figura 3.4, motivado a las

necesidades a ser implementadas en el prototipo, es por ello que se utilizo el DS1307, el cual

es un reloj/calendario de codificación binaria decimal (BCD), que cuenta con 56 bytes de

memoria y es de bajo consumo de energía (Ver anexo 2).

Los datos y direcciones que implementa dicho dispositivo son a través de la comunicación

serial por medio del puerto bidireccional I2C. Este puede operar en formato de 12 y 24 horas,

se utiliza el modo de 24 horas ya que este es universal.

Posee un respaldo de energía en caso de fallar la alimentación principal, es por ello que el

registro de tiempo se mantiene.

Para el circuito oscilador es necesario conectarle un cristal de 32.768 KHz.

Figura 3.4 Diagrama de Bloques del DS1307 (www.maxim-icds1307.com.” Manual de reloj de tiempo

Real”)

Page 48: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

����

3.3.3 Pantalla de Cristal Líquido

Es necesario la utilización de una pantalla liquida de 2 filas por 16 columnas (2x16) similar a

la figura 3.5, para la visualización de los datos en tiempo real.

La pantalla posee un control de iluminación de fondo y contraste lo cual hace optimo la

visualización de los datos.

Figura 3.5 Pantalla LCD 2x16 (www.datasheetcatalog.com. “16x2 Character LCD”)

3.3.4 Comunicación Serial

En las aplicaciones de este Trabajo de Grado se necesita la transmisión de los datos para así en

un computador desplegar el comportamiento de la variable medida (temperatura) y así poder

representar su grafica para un mejor entendimiento (Ver anexo 3).

Se escogió el dispositivo RS 485 como medio de transporte ya que posee una característica

que la hace más relevante con respecto a las demás ya que permite una mayor longitud en

cuanto al cableado y permite la conexión de varios dispositivos.

La interfaz RS485 para la transmisión en serie de datos de alta velocidad a grandes distancias

se encuentra en creciente aplicación en el sector industrial. Es por ello que se escogió el

MAX485, el RS485 está concebido como sistema Bus bidireccional con hasta 32

participantes y puede instalarse tanto como sistema de 2 hilos como se muestra en la figura

3.6.

Por su parte para llevar los datos del PIC al la computadora se empleo un Max232 (ver

fig.3.7).

Page 49: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

���

Figura 3.6 Ubicación de los pines y diagrama del MAX485 (conexión a 2 hilos) (www.maxim-RS-

485/RS-422.com.” Hoja de Especificaciones del RS-85”)

Figura 3.7 Ubicación de los pines y diagrama del MAX232 (www.maxim-MAx-232.com.” Hoja de

Especificaciones del Max 232”)

Page 50: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

����

3.3.5 Sensor de temperatura LM35

Es en el encargado de sensar la temperatura presente en el ambiente para luego por medio del

programa, ser procesada en el PIC. Este trabaja con un rango de operación de -55 a 150

grados centígrados, lo cual se hace adecuado para las temperaturas a ser medidas, este

dispositivo presenta un costo relativamente económico y sus características se adaptan a lo que

se requiere (Ver anexo 4).

En la figura 3.8 observamos las diferentes versiones en que se presenta el sensor de

temperatura LM35, en este Trabajo de Grado se utilizo el modelo TO-92 (“Plastic Package”).

Figura 3.8 Presentación y aplicaciones típicas del LM35 (www. nationallm.com.” Manual del Sensor

LM35”)

Page 51: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

����

3.3.6 Fuente de Alimentación

Es la que se encarga de transformar el voltaje proveniente de la pila de 9 V al voltaje requerido

por los componentes a implementar en los circuitos impresos (+ 5 VDC).

Ésta está compuesta por capacitores y un regulador 78L05 como el que se muestra en la figura

3.9, el cual proporcionara la corriente necesaria a ser utilizada en los circuitos impresos.

Adicionalmente la tarjeta impresa llevará una entrada para adaptadores de corriente alterna en

caso de que así se necesite

El regulador es el encargado de llevar el voltaje requerido a los dispositivos como se

menciono anteriormente, aquí algunas de sus características:

• Salida de corriente hasta los 100 m A.

• Salidas de voltaje que van hasta 5 V.

• Protección de corto circuito.

Figura 3.9 Presentación del Regulador 78L05 (Fuente: http://www.datasheetcatalog.com. “L78L00

Series”)

Page 52: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

����

3.3.7 Simulaciones

Es la primera parte a realizar en el diseño, estas se realiza a efectos de prueba para tener así un

precedente de lo que se realizara posteriormente.

A continuación como se muestra en las siguientes paginas, se observaran algunas de de estas

simulaciones, donde en la figura 3.10, se observa el esquema de montaje de uno de los

Esclavos.

Por su parte en la figura 3.11, encontramos el esquema de montaje del Maestro, en el cual

observamos que este posee dos pulsadores adicionales los cuales sirven para solicitar la

información a cualquiera de los Esclavos.

La figura 3.12, representa a la fuente alimentación diseñada la cual cuenta con un regulador de

voltaje para proporcionar así el voltaje requerido por los circuitos impresos, además de contar

con una serie de capacitores los cuales están dispuesto en los diversos circuitos impresos.

En la figura 3.13, encontramos el circuito en el cual se realizo la primera prueba en proteus

implementando el protocolo Modbus, la cual se hizo con una conexión punto a punto entre un

Esclavo y un Maestro para verificar el funcionamiento del protocolo Modbus.

Por último, la figura 3.14, indica una conexión punto/multipunto implementando para ello el

dispositivo RS485 entre dos Esclavos y un Maestro como se planteo en el Trabajo de Grado.

3.3.8 Circuitos Impresos

Los circuitos impresos fueron diseñados mediante el software conocido como EAGLE Light

Edition, el cual es un programa diseñado por CadSoft para la realización de tarjetas impresas

de una forma fácil.�[http://www.cadsoftusa.com/freeware.htm. 2009].

El Eagle Layout funciona de manera sencilla, aquí alguno de los pasos para la elaboración de

las tarjetas:

Page 53: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

��

��

� ��

Figu

ra 3

.10

Esq

uem

a de

mon

taje

de

uno

de lo

s Esc

lavo

s

Page 54: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

��

��

����

Figu

ra 3

.11

Esq

uem

a de

mon

taje

del

Mae

stro

Page 55: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

��

��

����

Figu

ra 3

.12

Esq

uem

a de

mon

taje

de

la a

limen

taci

ón

Page 56: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

��

��

����

Figu

ra 3

.13

Esq

uem

a de

mon

taje

Mae

stro

/Esc

lavo

Mod

bus

Page 57: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

��

��

����

F

igur

a 3.

14 E

sque

ma

de m

onta

je d

el P

roto

tipo

Fina

l

Page 58: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

����

• Elegir los componentes a utilizar mediante el uso de las extensas librerías que posee

el programa, donde se encuentran diferentes marcas y genéricos de los

implementos, de manera tal que obtenidos los componentes proceder a armar el

esquemático.

• Luego de montar el esquemático proceder a arreglar los componentes de la forma

más precisa de manera tal que se utilice de forma practica la placa, ahora entramos

a la función PCB del programa y accionamos la función AutoRoute el cual

automáticamente realizara las pistas a utilizar en el diseño. (se pueden realizar

ajustes en caso de que así lo amerite el caso).

Como precaución se instalaran bases donde van los circuitos electrónicos encapsulados, de

manera de que ocurra un fallo en alguno de estos se puedan reemplazar de forma inmediata

y a su vez se dejaran espacios dispuestos para cualquier componente extra.

El circuito impreso donde se encuentra la alimentación del prototipo funcional está

diseñada a una sola cara (ver figura 3.15), debido a su sencillez, ya que esta no presenta

tantos dispositivos electrónicos, por su parte los circuitos impresos del Maestro y los

Esclavos están diseñados a dos caras debido a que estos son más complejas (ver figuras

3.17 y 3.19).

A continuación se mostraran las graficas del diseño de las tarjetas impresas las cuales se

diseñaron el programa antes mencionado para su posterior realización en la lámina que se

utiliza para construir circuitos impresos:

Page 59: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

���

Figura 3.15 Tarjeta Impresa de Alimentación Diseñanada

Page 60: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

����

Figura 3.16 Tarjeta Impresa del Maestro Diseñada

Page 61: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

����

Figura 3.17 Tarjeta Impresa de los Esclavos Diseñada

Page 62: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

����

Figura 3.18 Tarjeta Impresa del Esclavo Diseñada Cara Inferior

Figura 3.19 Tarjeta Impresa Esclavo Diseñada Cara Superior

Page 63: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

��

CAPÍTULO IV

CREACIÓN DEL SOFTWARE

A continuación se describe todo lo relacionado con la programación de los

Microcontroladores a ser utilizados en el prototipo funcional, y el envío de la información al

computador, es decir en general se explicaran los Software diseñados.

4.1 ESTRUCTURA GENERAL

Básicamente el diseño del software de los Microcontroladores está compuesto por dos

programas, uno que se encarga de lo que es el Maestro y otro de lo que es el Esclavo, esta

programación se realizo en lenguaje “C” para luego ser compilado en PIC-C (Custom

Computer Services, Inc., 2007).

Hay que acotar algo muy importante para la programación se agregaron librerías a las

presentes librerías originales del compilador, y en algunos casos se modificaron algunas de

ellas, las cuales se describirán a lo largo de este capítulo.

De igual manera se diseño una interfaz grafica en Matlab para observar el comportamiento de

la temperatura medida, esta interfaz se implemento mediante el dispositivo MAX 232, el cual

es el encargado de comunicar el Maestro con el computador a través del puerto serial.

En la siguiente tabla observaremos como Modbus realiza los registros:

Page 64: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

����

��

Tabla 4.1 Modelo de Registro Modbus

TABLA TERMINOLOGIA REGISTRO CARACTERISTICA

SALIDA DISCRETA

BOBINAS O COILS 0:00000

ELEMENTO DE 16 BITS, ALTERABLE

POR SOFTWARE, ES DE LECTURA ESCRITURA

ENTRADA DISCRETA

ENTRADAS 1:00000�

BIT UNICO, SOLO DE LECTURA

REGISTRO DE

ENTRDA

REGISTRO DE ENTRADA 2:00000�

ELEMENTO DE 16 BITS, SOLO DE

LECTURA

REGISTRO DE

SALIDA

REGISTRO DE ALMACENAMIENTO

4:00000�

BIT UNICO ALTERABLE POR SOFTWARE ES DE

LECTURA-ESCRITURA

El protocolo Modbus no define estas áreas con mucha precisión. La distribución entre las

entradas y salidas así como los datos deireccionables por bits o registros no importa cualquier

comportamiento específico por parte del Esclavo. Es muy común que todos los dispositivos

Esclavos implementen la tabla como un área de memoria solapable.

4.2 ESTRUCTURA DEL ESCLAVO

Como se mencionó en el capítulo anterior los Esclavos son los encargados mediante el sensor

de temperatura de captar la señal a ser medida. Para luego ser procesada en el PIC y así ser

almacenada en su memoria interna. Todo esto se realiza en tiempo real. Una vez pasado este

tiempo, el Esclavo espera a que el Maestro le solicite los datos para enviarlos.

Los programas constan de varios lazos, como lo son ajuste del rango de temperatura,

configuración del reloj de tiempo real, indicar los valores de temperatura y tiempo real en la

pantalla LCD, y por último el intercambio de información Maestro/Esclavo. Cabe destacar que

el envío de información Maestro/Esclavo, Esclavo/Maestro, se realiza por comunicación serial

y se implementan el Protocolo de Comunicaciones Modbus.

Page 65: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

����

��

Para iniciar el programa observamos la temperatura medida por el sensor de temperatura, la

cual se refleja en la pantalla LCD, a su vez, que el reloj despliegue en la pantalla cero (0)

horas, cero (minutos) y cero (0) segundos.

Seguidamente se configurara el reloj de manera tal que sea el mismo usuario el que incorpore

la hora, esto se realiza por medio de cuatro botones, donde el primer botón es para seleccionar

modificación de hora y minutos.

Los botones B2 y B3 son para incrementar y disminuir la hora y los minutos, por último el

botón B4 es el encargado de cambiar la modalidad de alternar entre horas y minutos y a su vez

dar la señal de arranque para que el reloj comience con las acciones expuestas por el usuario,

la disposición de los mismos se observa en la figura 4.1 y sus funciones en la tabla 4.2.

Figura 4.1 Disposición de los botones del teclado de los Esclavos.

Page 66: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

����

��

Tabla 4.2 Funciones de los botones del teclado

Botón Puerto Función B1 D0 Cambio de hora B2 D1 Incrementar B3 D2 Disminuir B4 D3 Cambio de Hr/min. Y Run

Luego de configurar el tiempo, estos datos se muestran en la pantalla acompañados del valor

de temperatura medido, como se dijo anteriormente.

El siguiente lazo consiste en revisar si existe alguna petición por parte del Maestro para el

envió de información, de existir se recurre a la función de dicha petición, de lo contrario se

procede a la visualización y captación de los datos provenientes de los sensores para su

posterior almacenamiento. Los datos almacenados en el sistema como son: hora de la

temperatura promedio, minuto de la temperatura promedio y temperatura promedio, entre

otros se localizan en posiciones especificas de memoria como se indican en la tabla 4.3.

Para el mejor entendimiento se muestra en la figura 4.2 el diagrama de flujo del esclavo:

Figura 4.2 Diagrama de flujo para Esclavo

Page 67: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

����

��

Tabla 4.3 Direcciones del Mapa de Memoria de los Esclavos

DIRECCION CARACTERISTICA 10 Hora Temperatura

Promedio. 11 Minuto Temperatura

Promedio. 12 Temperatura

Promedio. 13 Hora Temperatura

Máxima. 14 Minuto Temperatura

Máxima. 15 Temperatura Máxima. 16 Hora Temperatura

Mínima. 17 Minuto Temperatura

Mínima. 18 Temperatura Mínima.

4.3 ESTRUCTURA DEL MAESTRO

La estructura del Maestro básicamente radica en pedir información al Esclavo en determinado

momento, para almacenar dicho dato en la memoria interna del Microprocesador, y luego ser

enviado al computador.

Es el Maestro el encargado de enviar la información para la computadora para que esta

despliegue una ventana gráfica creada en el ambiente grafico de Matlab, en donde se observa

el comportamiento de la temperatura en función del tiempo.

Al igual que en el Esclavo la programación se realizan mediante una serie de comandos, que a

continuación se explicaran.

Page 68: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

����

��

El Maestro debe pedir la información correspondiente al Esclavo, de manera que reciba un

mensaje para almacenarlo en su memoria, desplegarlo en una pantalla LCD y luego enviarlo al

computador para que lo procese y lo muestre en la pantalla del mismo. La comunicación entre

Maestro/esclavo es del tipo serial, implementando a través del dispositivo RS485.

De igual forma el Maestro presenta otras rutinas como son el reset de los Esclavos, ajuste del

tiempo de los Esclavos.

Aquí el diagrama de flujo del Maestro (fig.4.3):

Figura 4.3 Diagrama de flujo para el Maestro

Page 69: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

���

��

4.4 ESTRUCTURA DEL PROGRAMA GENERAL CON MODBUS

Conocidas las funciones de Maestro/Esclavo, procedemos a establecer el protocolo Modbus en

nuestro programa ya que este es la base de la comunicación a establecer, para el cual PIC-C

(Custom Computer Services, Inc., 2007), posee una librería la cual se debió ajustar a nuestra

programación, la librería implementada en el Trabajo de Grado fue la librería de

“Modbus_Pic”, la cual está presente en el programa utilizado.

Básicamente en el programa el Esclavo es el encargado de proporcionar la primera

información en cada mensaje de Modbus, este es identificado a través de direcciones únicas

las cuales van de la 1 a la 247.

En la línea serial de Modbus, el campo de dirección solo contiene las correspondientes al

Esclavo.

Un Maestro se dirige a un Esclavo al colocar la dirección de este esclavo en el campo de

dirección del mensaje.

Cuando el Esclavo devuelve sus respuestas, coloca su propia dirección en el campo de

dirección para notificar al Maestro cual es el Esclavo que está respondiendo.

El segundo parámetro en cada mensaje de Modbus, es el código de la función, esté define el

tipo de mensaje y la acción requerida por el Esclavo. Los códigos válidos están en el rango del

1 al 255.

Cuando un error es detectado el bit más alto es activado. Los registros son de 2 bits y son

direccionados en la estructura del mensaje Modbus con direcciones que comienzan desde 0.

Después de procesar la solicitud el Esclavo Modbus retorna valores de 16 bits de los registros

almacenados o solicitados.

Page 70: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

����

��

Figura 4.4 Diagrama de bloques del programa general

4.5 INTERFAZ GRÁFICA DISEÑADA EN MATLAB

Ahora lo que se hace es implementar unas rutinas que nos simplifiquen el envió de datos por

el puerto serie.

Esto se realizara por medio del software Matlab, ya que este es un software diseñado para

aplicaciones que involucren adquisición, control, análisis y presentación de datos. Las ventajas

que proporciona este software son:

• Se reduce el tiempo de desarrollo de las aplicaciones, ya que son muy intuitivos y fáciles de

aprender.

• Dotan de gran flexibilidad al sistema, permitiendo cambios y actualizaciones tanto del

hardware como del software.

• Dan la posibilidad a los usuarios de crear soluciones completas y complejas.

Page 71: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

����

��

• Con un único sistema de desarrollo se integran las funciones de adquisición, análisis y

presentación de datos.

• Los sistemas están dotados de un compilador gráfico para lograr la máxima velocidad de

ejecución posible.

• Tienen la posibilidad de incorporar aplicaciones escritas en otros lenguajes.

Matlab (abreviatura de Matrix Laboratory) es un software matemático que ofrece un entorno

de desarrollo integrado (IDE) con un lenguaje de programación propio (lenguaje M). Está

disponible para las plataformas Unix, Windows y Apple Mac OS X.

Entre sus prestaciones básicas se hallan: la manipulación de matrices, la representación de

datos y funciones, la implementación de algoritmos, la creación de interfaces de usuario (GUI)

y la comunicación con programas en otros lenguajes y con otros dispositivos hardware. El

paquete Matlab dispone de dos herramientas adicionales que expanden sus prestaciones, a

saber, Simulink (plataforma de simulación multidominio) y GUIDE (editor de interfaces de

usuario - GUI). Además, se pueden ampliar las capacidades de Matlab con las cajas de

herramientas (toolboxes); y las de Simulink con los paquetes de bloques (blocksets).

Es un software muy usado en universidades y centros de investigación y desarrollo. En los

últimos años ha aumentado el número de prestaciones, como la de programar directamente

procesadores digitales de señal o crear código VHDL.

A continuación en la figura 4.5 se muestra la interfaz diseñada en Matlab para la adquisición

de los datos provenientes del Maestro, para su posterior visualización en el computador la cual

consta de 3 botones el primero que es el de “ABRIR” este es el encargado de abrir la interfaz,

con el botón 2 llamado “LEER” adquirimos loas datos que vienen del Maestro a través del

puerto serial , y por último el botón 3 de nombre “CERRAR” es el encargado de finalizar la

interfaz:

Page 72: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

����

��

Figura 4.5 Interfaz Gráfica para el Registro de Temperatura

En las figuras 4.6 y 4.7 observamos las gráficas obtenidas en Matlab de la Temperatura en

función del Tiempo de los Esclavos números 1 y 2 respectivamente, las cuales se obtienen por

medio de la interfaz:

0h1m 1h5m 3h7m 4h9m 5h11m 6h50m 8h40m 10h35m 12h5m 14h50m25

25.5

26

26.5

27

27.5

28

28.5

29

29.5

30

TIEMPO EN HORAS Y MINUTOS

TEM

ER

ATU

RA

EN

ºC

TEMPERATURA vs. TIEMPO (ESCLAVO 1)

Figura 4.6 Temperatura Vs Tiempo (Esclavo 1)

Page 73: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

� ��

��

00h1m 1h5m 3h7m 4h9m 5h11m 6h50m 8h40m 10h35m 12h5m 14h50m25

25.5

26

26.5

27

27.5

28

28.5

29

29.5

30

TIEMPO EN HORAS Y MINUTOS

TEM

PE

RA

TUR

A E

N º

C

TEMPERATUR vs.TIEMPO (ESCLAVO 2)

Figura 4.7 Temperatura Vs Tiempo (Esclavo 2)

4.6.1 Diagrama de Flujo del Software para la Interfaz: (Fig. 4.8)

En la siguiente figura se observa por medio de un diagrama de flujo lo que realiza el programa

diseñado para la adquisición de los datos del Maestro al computador, el cual se realiza a través

del puerto serial e implementado para la adquisición de los datos Matlab.

Figura 4.8 Diagrama de Flujo de la Interfaz

Page 74: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

��

CAPÍTULO V

RESULTADOS

Como resultado al finalizar el diseño, se obtuvo el siguiente prototipo funcional para la

Implementación del Protocolo de Comunicaciones Modbus en una Red de sensores de

Temperatura:

En la figura 5.1 se observara el prototipo completo, el cual consta de 2 esclavos y 1

Maestro además de contar con alimentación separada para cada placa impresa diseñada:

Fig. 5.1 Prototipo funcional Creado

En la figura 5.2 tenemos al Maestro desplegando en la pantalla a cuál de los Esclavos

vamos a solicitar la información:

Page 75: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

����

Fig. 5.2 Selección del Esclavo

De igual manera en la figura 5.3 vemos en la pantalla del Maestro como podemos variar la

hora y los minutos. Bien sea hacia arriba o para abajo (esto se puede realizar directamente

en el Esclavo también):

Fig. 5.3 Ajuste de Hora Y Minutos

Bien ahora en la figura 5.4 se observara como el Maestro envía la información al Esclavo

en este caso al Esclavo 1:

Page 76: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

����

Fig. 5.4 Envió de Dato al Esclavo por medio del Maestro

Por último en la figura 5.5 se observara al esclavo esperando el comando para luego

responder al Maestro su petición y así el Maestro enviar el dato al computador para su

respectiva representación:

Fig. 5.5 Recepción del comando por parte del Maestro

Page 77: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

����

De igual manera se diseñaron y construyeron circuitos impresos por separado para la alimentación de cada uno de los Esclavos y Maestro, como los que a continuación se muestran en la figura 5.6:

Fig. 5.6 Tarjeta de alimentación creada

Page 78: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

CONCLUSIONES

• Se utiliza el protocolo Modbus basado en la arquitectura Maestro/Esclavo, ya que

este resulta ser robusto en la transferencia de datos, de fácil implementación, costo

relativamente bajo y empleado por una diversa gama de fabricantes.

• Se implemento una red conformada por un Maestro y dos Esclavos. Donde el

Maestro es el encargado de coordinar los enlaces de comunicación realizando

peticiones a los Esclavos en determinado momento.

• El bus de campo implementado puede adaptarse a cualquier red de campo que

permita la utilización de la topología tipo bus, siempre y cuando sea Modbus el

protocolo implementado.

• El desempeño del protocolo resulto ser óptimo para lo que se planteaba en el

Trabajo de Grado, este presenta una buena velocidad y una trama de corrección de

errores en caso de que se llegara a necesitar.

• Las simulaciones de los circuitos permitieron ahorro de tiempo y dinero, ya que solo

se procedió a realizar la tarjeta impresa luego que las simulaciones obtenidas nos

dieran resultados satisfactorios y así evitar la compra de componentes electrónicos

innecesarios.

Page 79: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

67

• El uso de microcontroladores permite la reducción de tamaño en la tarjeta impresa

ya que el alberga internamente algunos dispositivos electrónico (convertidores,

temporizadores contadores, etc.) Permitiendo una fácil sustitución en caso de

desperfectos.

• En el diseño implementado, se incorporaron características de diversos modelos y

adaptaciones requeridas para diversos propósitos, entre los que se destacan:

capacidad de almacenamiento, exactitud, almacenamiento de rangos de temperatura

máxima y mínima para ser adaptado a determinado uso, ajuste de tiempo, entre

otros, las cuales son cualidades de un instrumento versátil.

• La selección del sensor debe ser apropiada al tipo de evento con el cual se desea

trabajar , ya que en un proceso en el cual la temperatura no fluctúa bruscamente, un

sensor como el LM35 es el indicado para este tipo de aplicaciones, dadas sus

características de bajo costo, auto calibración y alta precisión del dispositivo.

• En el prototipo desarrollado se incorporaron característica que no se encontraron

disponibles en otros prototipos, como bajo costo, implementación del protocolo de

comunicaciones Modbus en una red de sensores de temperatura, entre otros.

• Para la adquisición de datos entre los Microprocesadores se implemento el

protocolo de comunicaciones Modbus utilizando como medio de transporte para los

datos el dispositivo electrónico RS-485, y a su vez para enviar los datos al

computador se utilizó RS-232 por puerto serial.

• El entorno grafico presentado al final de la adquisición de los datos desarrollado en

Matlab facilita el monitoreo de la variable medida en cualquier instante de tiempo.

• Los históricos presentes en los mapas de memoria puede ser manejada en cualquier

momento mediante la utilización del protocolo Modbus.

Page 80: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

68

• La operación entre una persona cualquiera y la interfaz grafica no requiere de

conocimientos profundos de computación (es intuitivo), ya que solo se utiliza el

mouse y el teclado para navegar en las diferentes aplicaciones del sistema.

• Este trabajo permite la adquisición de datos autónomos por medio de la implantación del protocolo de comunicaciones Modbus.

• El prototipo realizado es de bajo costo partiendo del uso de dispositivos comerciales

para su implementación.

Page 81: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

��

RECOMENDACIONES

• No se debe sobrepasar ninguna especificación de trabajo con cualquier de los

dispositivos electrónicos utilizados en el prototipo funcional, esto podría ocasionar

desperfectos en el prototipo.

• Aun cuando el manejo de los programas por computador no es complejo se

recomienda un adiestramiento previo al personal encargado de trabajar con el

prototipo.

• Se recomienda un mantenimiento periódico de los módulos presentes en el

prototipo para su mejor funcionamiento, es decir revisar continuamente el estado de

los dispositivos electrónicos, las conexiones, entre otros.

• Se recomienda como necesidad futura la implementación de las memorias

adicionales que se encuentren en el prototipo bien sea para futuras aplicaciones o

para que el prototipo posea mayor capacidad de almacenamiento.

• Al poner en funcionamiento el prototipo se recomienda establecer un medio

homogéneo para la comparación del sistema diseñado con un patrón que sirva de

base para que garantice buena precisión al momento de la medición.

• Para aprovechar mejor el sistema desarrollado, se puede adaptar otros tipos de

sensores, tal como el AD595 y la Termocupla tipo K, para comparar la respuesta a

Page 82: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

���

cambios bruscos de temperatura, para procesos que lo requieran. Adaptarle sensores

con capacidad de medir otras variables.

• Es necesario diseñarle alimentación independiente, para lograr la portabilidad del

dispositivo.

• Diseñar los circuitos impresos de los Esclavos a una sola cara, debido a la poca

existencia del material necesario para la elaboración del mismo y también para que

al momento de soldar los dispositivos electrónicos no caer en fallas de cortos

circuitos en la tarjeta impresa diseñada.

• Una de las aplicaciones del prototipo desarrollado es la medición de temperatura en

ambientes amplios y cerrados como son los invernaderos, los cuales presentan

diversos perfiles de temperatura dependiendo de la altura respecto al suelo y la

cercanía de las paredes del mismo.

Page 83: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

��

REFERENCIAS

Alarcón. Ingebor (2004). Protocolo de comunicaciones para controladores de tráfico. Trabajo Especial de Grado para optar al título de Ingeniero Electricista, Escuela de Ingeniería Eléctrica, Universidad de los Andes, Mérida, Venezuela.

Axelson Jean (2008). Serial Port Complete: Programming and Circuits for RS-232 and RS-485 Links and Netwoks.

CadSoft Computer GmBh (2009). Extraído el 20 de enero del 2009 desde http://www.cadsoftusa.com/freeware.htm.

Creus Antonio. (1992). Instrumentación Industrial. Editorial Alfa Omega.

Embedded-Solutions. A commerical version of a MODBUS master stack is now available. The master stack is written in ANSI C and supports multiple master instances. Licenses are royality free and pricing starts at 500$ for a full source code license with support included. RTU/ASCII ports are available for AVR, ARM7 and Linux and TCP ports are on the way. If you are interested contact Extraído el 18 de Octubre de 2008 desde http://www.embedded-solutions.at.

García M. Emilio (2001). Automatización de Procesos Industriales. Editorial Alfa Omega.

Hill J. Culler D. (2001). A Wireless Embedded Sensor Architecture for System-Level Optimization

Jiménez B. Manuel (2001). Manual de Comunicaciones Industriales. Universidad Politécnica de Cartagena Departamento de tecnología Electrónica.

Page 84: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …

���

��

Maxim. “Manual de reloj de tiempo Real”, Extraído el 02 de julio del 2008 desde http://www.maxim-icds1307.com.

Microchip. Microchip Technology Incorporated, “Data Sheet PIC18FXX2”. U.S.A.: 2002. Extraído el 22 de diciembre del 2008 desde http://www.nationallm.com.

Nationallm. “Manual del sensor de temperatura LM35”, Extraído el 02 de Julio del 2008 desde http://www.nationallm.com.

Planas, J, Medida de Temperaturas. Extraído el 17 de Octubre de 2008 desde http://www.mater.upm.es/Docencia/Materiales/Instrumentacion/Teoria/inst04. pdf.

Ruiz, F. José, D. (2008). Capa de enlace simple. Tx. Rt. HDLC. ( TCP/IP) Niveles. Extraído el 20 de Diciembre de 2008 desde http://www.ultraforos .com.

Ruiz, J, Implementación de una Red Modbus/TCP. Extraído el 19 de Octubre de 2008 desde http://www.univalle.edu.co.

Rojas P. Freddy A. (2008). Diseño y Construcción de un Controlador Para Estación Meteorológica con transmisión de Datos a un Ordenador. Trabajo Especial de Grado para optar al título de Ingeniero Electricista, Escuela de Ingeniería Eléctrica, Universidad de los Andes, Mérida, Venezuela.

Page 85: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …
Page 86: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …
Page 87: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …
Page 88: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …
Page 89: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …
Page 90: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …
Page 91: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …
Page 92: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …
Page 93: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …
Page 94: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …
Page 95: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …
Page 96: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …
Page 97: IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE …