Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Diseño Módulo Modbus Murillo 2011

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 273

DISEO E IMPLEMENTACIN DE UN MDULO DE ADQUISICIN REMOTA

DE DATOS PARA PLCS MEDIANTE EL ESTNDAR DE COMUNICACIN


MODBUS.


ARLEY FERNANDO MURILLO MOSQUERA
GLEN ALAN MARTNEZ CARABAL







UNIVERSIDAD DE SAN BUENAVENTURA CALI
FACULTAD DE INGENIERA
PROGRAMA DE INGENIERA ELECTRNICA
SANTIAGO DE CALI
2011
DISEO E IMPLEMENTACIN DE UN MDULO DE ADQUISICIN REMOTA
DE DATOS PARA PLCS MEDIANTE EL ESTNDAR DE COMUNICACIN
MODBUS.


ARLEY FERNANDO MURILLO MOSQUERA
GLEN ALAN MARTNEZ CARABAL

PROYECTO DE GRADO
DIRECTOR: Ing. Edgar Antonio Giraldo Orozco.




UNIVERSIDAD DE SAN BUENAVENTURA CALI
FACULTAD DE INGENIERA
PROGRAMA DE INGENIERA ELECTRNICA
SANTIAGO DE CALI
2011
Este trabajo de grado, en la modalidad de
Proyecto de investigacin, es aceptado como uno
de los requisitos para obtener el ttulo de
Ingeniero Electrnico en la Universidad de San
Buenaventura Cali.





____________________________________
Ing. EDGAR ANTONIO GIRALDO OROZCO




________________________________________________
Ing. CARLOS MAURICIO BETANCURT




_______________________________________________
Ing. ANDRS ERAZO




Santiago de Cali, 03 de Junio del 2011


Le agradezco a Dios el darme el privilegio de vivir este momento y de
poder culminar una etapa ms de mi vida, adems al Ingeniero Edgar
Orozco por su colaboracin y gua para la realizacin de este proyecto
de grado.
Este libro se lo dedico a mis padres, por ser ellos los culpables de que
este logro se haya concretado, mis ms sinceros agradecimientos,
gracias por contar con Uds. despus de todas la adversidades, este
logro se obtuvo gracias a la confianza brindada por Uds. Muchas
gracias.
Arley Fernando Murillo Mosquera
8

TABLA DE CONTENIDO

1 DESCRIPCIN DEL PROYECTO Y CARACTERSTICAS
Generales 25
1.1 FORMULACIN DEL PROBLEMA 25
1.2 JUSTIFICACIN 25
1.3 OBJETIVOS 27
1.3.1 Objetivo General 27
1.3.2 Objetivo Especficos 27
1.4 DESCRIPCIN DEL DOCUMENTO 27

2 MARCO TERICO. 29
2.1 ANTECEDENTES 29
2.2 PLC (Programable Logic Controller) 30
2.2.1 Funciones Bsica de un PLC 31
2.3 MICROCONTROLADORES 32
2.4 AMPLIFICADORES OPERACIONALES 33
2.4.1 Tipos de Configuracin 35
2.5 MDULO LCD 38
2.6 SISTEMAS DE ADQUISICIN DE DATOS 40
2.6.1 Elementos de un Sistema de Adquisicin de Datos 42
2.7 COMUNICACIONES SERIALES 45
2.8 PROTOCOLOS DE COMUNICACIN 47
2.8.1 Modbus 48
9

2.8.2 Descripcin General 52

3 DISEO E IMPLEMENTACIN DEL MDULO 85
3.1 DISPOSITIVO MAESTRO 86
3.1.1 Cable de Red 87
3.2 MDULO ESCLAVO 89
3.2.1 Requerimientos Especficos del Mdulo Esclavo 89
3.2.2 Diseo del Mdulo Esclavo 90
3.2.3 Evaluacion de Costos 90

4 DISEO E IMPLEMENTACIN DEL SOFTWARE DEL MDULO
104
4.1 REQUERIMIENTOS DEL SOFTWARE 105
4.2 DESARROLLO DEL SOFTWARE DEL MICROCONTROLADOR 105
4.3 ESTRUCTURA DEL PROGRAMA PRINCIPAL 106
4.3.1 Inicializaciones 107
4.3.2 Configuracin Mdulo Esclavo 111
4.3.3 Interfaz Pantalla LCD 112
4.3.4 Interfaz Pulsadores 115
4.3.5 Adquisicin de Datos 123
4.3.6 Modbus 125

5 PRUEBAS Y RESULTADOS 132
5.1 SOFTWARE UTILIZADO PARA LAS PRUEBAS 132
10

5.2 CONFIGURACIN DE LOS MDULOS MBUS_CTRL y MBUS_MSG 136
5.2.1 MBUS_CTRL 137
5.2.2 MBUS_MSG 138
5.3 COMPROBACIN DE LA FUNCIN 02(LECTURA DE ENTRADA DIGITAL) Y
DE COMUNICACIN CON El PLC 140
5.4 COMPROBACIN DE LA FUNCIN 04(LECTURA DE ENTRADA ANLOGA)
146
5.5 COMPROBACIN DE CAMBIO DE VELOCIDAD 152
5.6 PRUEBA DE CAMBIO DE DIRECCIN DEL ESCLAVO 155
5.7 COMPROBACIN DE ERRORES 156
5.7.1 Vencimiento del Timeout de Recepcin (Error 03) 156
5.7.2 Funcin No Soportada (Error 101) 159
5.7.3 Direccin de Datos No Soportada (Error 102 Funcin 02) 160
5.7.4 Direccin de Datos No Soportada (Error 102 Funcin 04) 162

6 CONCLUSIONES Y RECOMENDACIONES 165
6.1 CONCLUSIONES 165
6.2 RECOMENDACIONES 166

7 BIBLIOGRAFA 168

8 ANEXOS 171


11























12

LISTA DE FIGURAS


Figura 2.1-Smbolo del amplificador operacional 34
Figura 2.2-Circuito Esquemtico del Amplificador No inversor 35
Figura 2.3-Circuito Esquemtico del Amplificador Inversor 36
Figura 2.4-Circuito Esquemtico del Amplificador Diferencial 37
Figura 2.5-Circuito Esquemtico del Amplificador Seguidor de Voltaje
38
Figura 2.6-Modulo LCD 39
Figura 2.8-Filtro Antialising 42
Figura 2.9-Sistema de Adquisicin de Datos Anlogos. 43
Figura 2.10-Trama de las Comunicaciones Seriales. 46
Figura 2.11-Comunicacin General del Modbus. 50
Figura 2.12-Ejemplo de una Arquitectura de Redes de Modbus. 51
Figura 2.13-Trama General del Modbus. 52
Figura 2.14-Transaccin del Modbus (libre de error). 54
Figura 2.15-Transaccin del Modbus (Respuesta en Excepcin) 55
Figura 2.16-Diagrama de Flujo de la Transaccin del Modbus. 59
Figura 2.17-Modo Unicast. 73
Figura 2.18-Modo Broadcast. 74
Figura 2.19-Tiempos de la Trama RTU. 76
Figura 2.20-Trama de Mensaje RTU. 77
Figura 2.21-Tiempos de Caracter de la Trama RTU. 77
13

Figura 2.22-Topologia General de 2 Hilos. 84
Figura 2.23-Topologia General de 4 Hilos. 84

Figura 3.1-Esquema de Diseo. 85
Figura 3.2 Circuito de las Entradas Digitales con Optoacopladores. 92
Figura 3.3-Circuito de las Entradas Digitales 94
Figura 3.4-Puerto de Comunicacin RS-485 95
Figura 3.5-Conector Macho DB-9 96
Figura 3.6-Circuito Interfaz de Usuario 97
Figura 3.7-Circuito Esquemtico General de la DAQ. 101

Figura 4.1-Diagrama de Flujo Rutina General. 107
Figura 4.2-Diagrama de Flujo Rutina Inicializaciones 108
Figura 4.3-Diagrama de Flujo Rutina Configuracin del Modulo
Esclavo 111
Figura 4.4Diagrama de Flujo Rutina Interfaz LCD 113
Figura 4.5-Diagrama de Flujo Rutina Interfaz Pulsadores 115
Figura 4.6-Diagrama de Flujo Subrutina Funcin Up 117
Figura 4.7-Diagrama de Flujo Subrutina Funcin Down 120
Figura 4.8-Diagrama de Flujo Subrutina Funcin Ok 122
Figura 4.9-Diagrama de Flujo Rutina Adquisicin de Datos. 123
Figura 4.10-Diagrama de Flujo Rutina Modbus 126
Figura 4.11-Diagrama de Flujo Subrutina Leer Entradas Digitales 128
Figura 4.12-Diagrama de Flujo Subrutina Leer Entradas Anlogas 130
14

Figura 5.1-Sistema Para Las Pruebas 133
Figura 5.2-rbol de Operaciones 134
Figura 5.3-Ventana Status Chart 136
Figura 5.4-Modul MBUS_CTRL 137
Figura 5.5-Modul MBUS_MSG 139
Figura 5.6-Comprobacin de la Funcin 02-a 141
Figura 5.7-Comprobacin de la Funcin 02-b 143
Figura 5.8-Comprobacin de la Funcin 02-c 145
Figura 5.9-Comprobacin de la Funcin 04-a 147
Figura 5.10-Comprobacin de la Funcin 04-b 149
Figura 5.11-Comprobacin de la Funcin 04-c 151
Figura 5.12-Comprobacin de Cambio de Velocidad 1200 153
Figura 5.13-Comprobacin de Cambio de Velocidad 19200 154
Figura 5.14-Prueba de Cambio de Direccin del Esclavo 155
Figura 5.15-Vencimiento del Timeout de Recepcin-1 157
Figura 5.16-Vencimiento del Timeout de Recepcin-2 158
Figura 5.17-Funcin No Soportada 159
Figura 5.18-Direccin de datos no soportada funcin 02-a 161
Figura 5.19-Direccin de Datos No Soportada Funcin 02-b 162
Figura 5.20-Direccin de Datos No Soportada Funcin 04-a 163
Figura 5.21-Direccin de Datos No Soportada Funcin 04-b 164



15























16

LISTA DE TABLAS

Tabla 2.1-Referencias y Precios. 29
Tabla 2.2-Asignacin de pines del LCD 40
Tabla 2.3-Modelo del Dato Modbus 57
Tabla 2.4-Categora del Cdigo de Funcin del Modbus. 63
Tabla 2.5-Definicin de Cdigo de Funcin Pblico. 64
Tabla 2.6-Envi de Funcin 04 67
Tabla 2.7-Envi de Funcin 04 69
Tabla 2.8-Cdigos de Error de Ejecucin del Protocolo Modbus en el
Esclavo. 71
Tabla 2.9-Secuencia de Bit en Modo RTU. 75
Tabla 2.10-Secuencia de Bit en Modo RTU (Sin Paridad). 76
Tabla 2.11Trama de Mensaje RTU. 76
Tabla 2.12-Codificacin ASCII. 79

Tabla 3.1-Tipo de Modelo del Dato 87
Tabla 3.2-Datos Tcnicos Generales de un Cable de Red. 88
Tabla 3.3-Asignacin de Pines del Puerto de Comunicacin del S7-200
88
Tabla 3.4 Estados de Control del Integrado MAX485. 95
Tabla 3.5-Asignacin de Pines 99
Tabla 3.5-Costos de Implementacin 99

17

Tabla 4.1-Parmetros de la DAQ 104
Tabla 4.2-Variables de Programa 109

Tabla 5.1Parmetros de la Operacin MBUS_CTRL 135
Tabla 5.2-Parmetros de la operacin MBUS_MSG 135

















18























19

LISTA DE ANEXOS
Anexo A-Manual de Usuario 172
Anexo B-Datos Tcnicos del Microcontrolador PIC16F877A 191
Anexo C-Datos Tcnicos del Circuito Integrado MAX485 228
Anexo D-Datos tcnicos del Circuito Integrado LM324 237
Anexo E-Datos tcnicos del Circuito Integrado 4N35 246
Anexo F-Datos tcnicos del PLC (Manejo de la Librera Modbus) 259















20























21

GLOSARIO

ALIASING: es el efecto que causa que seales continuas distintas se tornen
indistinguibles cuando se les muestrea digitalmente.

AO: amplificadores operacionales son dispositivos electrnicos que ofrecen
mltiples aplicaciones en el procesamiento de seales elctricas, los cuales
modifican la magnitud y/o fase de estas.

DAQ: es el mdulo de digitalizacin o tarjeta de Adquisicin de Datos.


EIA/TIA-232: Es una norma para una interfaz en serie de 25 pines, que se puede
utilizar para conectar ordenadores a componentes que forman parte de una red.
(EIA/TIA-232 se denominaba anteriormente RS-232.)


EIA/TIA-422:(anteriormente RS-422) es un protocolo de comunicacin de datos
serial que describe comunicaciones 4-wire, full-duplex, lnea diferencial y multi-
drop. Suministra transmisin de datos balanceada con lneas de transmisin
unidirecional/no reversible, terminadas o no terminadas. Al contrario de RS-485
(que es multi-point en vez de multi-drop), EIA-422 no permite mltiples drivers
solamente mltiples receivers.


EIA-485 (antes RS-485 o RS485) es Modelo de OSI capa fsica elctrico
especificacin de dos alambre, half-duplex, de mltiples puntos conexin serial.
22

OPC: (OLE for Process Control) es un estndar de comunicacin en el campo del
control y supervisin de procesos. Este estndar permite que diferentes fuentes de
datos enven datos a un mismo servidor OPC, al que a su vez podrn conectarse
diferentes programas compatibles con dicho estndar.

PIC:(Peripheral Interface Controller) son una familia de micro controladores tipo
RISC fabricados por Microchip Technology Inc.

PLC:(Programable logic controller), es un equipo electrnico, programable en
lenguaje no informtico, diseado para controlar en tiempo real y en ambiente de
tipo industrial, procesos secuenciales.

TCP/IP: Es el conjunto de protocolos usado en Internet, suministrando un
mecanismo de transporte de datos confiable entre mquinas y permitiendo
interoperabilidad entre diversas plataformas.








23

RESUMEN

El objetivo de este proyecto es disear e implementar un mdulo de adquisicin
remota de datos para PLCs mediante el estndar de comunicacin Modbus para
el laboratorio de automatizacin de la Universidad de San Buenaventura Seccional
Cali. Se realiz un estudio de investigacin aplicativo, basado en las
generalidades del estndar Modbus, la adquisicin de datos, las comunicaciones
seriales y los diferentes componentes que fueron necesarios para la
implementacin.
Como resultado de la investigacin, se plante un diseo del hardware compuesto
de una tarjeta de adquisicin de datos utilizada como dispositivo Esclavo. El
diseo tiene una Unidad de procesamiento (Microcontrolador), 8 entradas digitales
pticamente aisladas, 2 entradas analgicas, interfaz de usuario (LCD y Teclado)
y comunicacin serial por el puerto RS485 con configuracin de par trenzado bajo
el protocolo de comunicacin Modbus. El diseo del software del microcontrolador
fue realizado sobre la herramienta de programacin PIC C Compiler de la firma
CCS (Custom Computer Services), el cual hizo la programacin muy flexible,
manejando una estructura sencilla y apropiada para esta aplicacin. El software se
implemento de acuerdo a los requisitos del protocolo Modbus y los requerimientos
tcnicos exigidos por la implementacin del hardware para el Sistema de
Adquisicin, Procesamiento de Datos (Anlogos-digitales) y la Interfaz de Usuario.
Se realizaron pruebas de comunicacin Modbus y adquisicin de datos al mdulo
Esclavo una vez terminada su construccin, verificando as la bsqueda de fallas
de diseo y de operacin para el mejoramiento del correcto funcionamiento del
dispositivo.
El proyecto demostr que es posible disear y construir mdulos de comunicacin
Modbus con tecnologa propia.
24

INTRODUCCIN

El diseo del mdulo de comunicaciones Esclavo Modbus, se implementa
considerando la necesidad de mejorar las aplicaciones prcticas del laboratorio de
Ingeniera Electrnica con respecto al aprendizaje del rea Industrial de la
Universidad San Buenaventura Cali. La opcin por optar en conseguir este mdulo
de comunicaciones es crtica, ya que Los requerimientos tcnicos son bastante
amplios e incluso los costos son altamente elevados y por eso la solucin
planteada es el diseo e implementacin de una interfaz prototipo (tarjeta), que
tenga opciones de acceso a dispositivos industriales mediante entradas digitales y
analgicas, donde la comunicacin con el controlador se hace por el puerto serial
RS485, con configuracin de 2 hilos, con protocolo Modbus.
Para determinar el prototipo a trabajar en este proyecto se presentara una
investigacin especfica del protocolo Modbus como eje, desde su forma de
comunicacin hasta su manera de funcionamiento. Este protocolo debe cumplir
ciertas condiciones de comunicacin de tipo especifico como por ejemplo, su
velocidad de transmisin y recepcin, su hasta su modo bsico de transmisin
serial Halfduplex.
Adicionalmente al tratarse esto, el hardware y el software debern disearse de tal
forma que soporte estas condiciones fsicas eficientemente, donde el hardware
permitir el desarrollo del software para la adquisicin de datos Anlogos-
Digitales, el control y comunicacin.


25

1 DESCRIPCIN DEL PROYECTO Y CARACTERSTICAS
GENERALES

1.1 FORMULACIN DEL PROBLEMA

En la industria de automatizacin con Programmable Logic Controllers (PLC) se
utiliza la adquisicin de datos remota mediante mdulos con bus de campo; este
tipo de buses flexibiliza la expansin de nuevos transmisores o actuadores en un
sistema ya instalado, tambin permite la reduccin masiva de cables y costos
asociados. Modbus es un bus de campo y su frecuente aplicacin en la industria
colombiana y de la regin hace que sea importante tenerlo en cuenta para estudiar
su estructura y campo de aplicacin.

La Universidad de San Buenaventura Seccional Cali, cuenta con PLCs, los cuales
tienen incorporado la comunicacin por bus de campo con el estndar Modbus,
pero sus ventajas, caractersticas y las diversas aplicaciones que se pueden
implementar en l, no son utilizadas en gran parte debido a que no cuenta con
mdulos que realicen la interfaz con comunicacin Modbus entre los sistemas de
medida o de salida y el PLC, y as permitir cobijar en su totalidad las
caractersticas del puerto de comunicacin Modbus.

1.2 JUSTIFICACIN

En la actualidad el Protocolo Modbus, es un bus de campo muy usado en la regin
y en el mundo debido a su simplicidad y especificacin abierta, permitiendo llevar
a cabo proyectos de gran complejidad y obtener un funcionamiento fiable,
facilitando as un mayor rango de aplicaciones que son implementadas por el
sector privado, pblico y acadmico, por estas razones muchos dispositivos
26

utilizan la comunicacin Modbus tales como PLC, Human Machine Interface
(HMI)
1
, sensores y actuadores remotos.
Adems el Modbus tiene la ventaja que puede alcanzar distancias muy largas con
un buen aislamiento a las perturbaciones y conectar mltiples dispositivos a la red,
dando significativas ventajas en el sector industrial. Este atributo con que cuenta el
Modbus se debe a su capa fsica RS-485 que define sus niveles de voltaje y la
cantidad de dispositivos que se pueden conectar en una misma red. Con lo
anterior mencionado la comunicacin Modbus en el mbito didctico permite
implementar mltiples aplicaciones como comunicacin con interfaces hombre
mquina, comunicacin con sensores y actuadores entre otras, dndole al
estudiante una perspectiva ms amplia respecto a las comunicaciones industriales
y la adquisicin remota de datos.
Desarrollando en su totalidad este proyecto se dotar al laboratorio de
automatizacin de un mdulo de adquisicin remota de datos con comunicacin
Modbus, el cual servir como herramienta de aprendizaje y de desarrollo de
nuevas aplicaciones con PLC y comunicaciones industriales. Este mdulo
pretende ser una solucin econmica con tecnologa propia a partir de
conocimientos adquiridos como ingenieros en formacin, permitiendo dar nuevas
bases de desarrollo de nuevos proyectos de grado y mejorar la formacin
acadmica en comunicaciones industriales y adquisicin de datos.
Este prototipo se desarrolla con elementos adquiridos en la regin y que permita
ser una solucin econmica en comparacin con los mdulos existentes en el
mercado de este tipo.





1
HMI se usa para referirse a la interaccin entre humanos y mquinas.
27

1.3 OBJETIVOS

1.3.1 Objetivo General

Disear e implementar un mdulo de adquisicin remota de datos para PLCs
mediante el estndar de comunicacin Modbus para el laboratorio de
automatizacin de la Universidad de San Buenaventura Seccional Cali.

1.3.2 Objetivo Especficos

Investigar el estado del arte y las generalidades del estndar Modbus.
Disear el sistema de acondicionamiento de seales, los filtros y el
aislamiento del mdulo de adquisicin.
Identificar el microcontrolador con las caractersticas requeridas para la
aplicacin.
Implementar el protocolo de comunicacin Modbus en el
microcontrolador.
Determinar e implementar el hardware necesario para la capa fsica RS-
485.
Realizar pruebas de adquisicin de datos para verificacin de conversin
de seales.
Realizar pruebas de comunicacin Modbus con el PLC.

1.4 DESCRIPCIN DEL DOCUMENTO

Para el desarrollo del proyecto se traza el siguiente planteamiento:
28

En el Captulo 1 se analiza el problema, se fijan objetivos para luego establecer en
los captulos posteriores el diseo general del proyecto.
Consecutivamente en el Captulo 2 se presenta la teora sintetizada del protocolo
Modbus, de los sistemas de adquisicin de datos, las comunicaciones seriales y
los PLC, informacin que sirve para poder lograr los objetivos que se quieren
alcanzar.
Consecuentemente en el captulo 3 se plantea el diseo del hardware del mdulo
Esclavo, teniendo en cuenta los requerimientos del prototipo a crear.
Despus en el captulo 4 se presenta todo el desarrollo del software necesario
para llevar a cabo el protocolo Modbus y la adquisicin de datos en el
microcontrolador del dispositivo Esclavo, donde se describe detalladamente cada
uno de los diagramas de flujo y los programas con sus respectivas aplicaciones.
En el captulo 5 se presentan las pruebas en el diseo de la tarjeta de adquisicin
de datos y los resultados obtenidos de las pruebas.
Al final se presentan las conclusiones obtenidas una vez se ha terminado el
proceso de implementacin y por ltimo las recomendaciones de la construccin
del prototipo






29

2 MARCO TERICO.

2.1 ANTECEDENTES

En la Escuela Politcnica Nacional de Quito Ecuador, se dise un prototipo de un
mdulo Esclavo de control para protocolo Modbus con entradas y salidas
Analgicas-Digitales como proyecto de grado, con el objetivo de solucionar
problemas de mediciones de temperatura en una empresa local de Ecuador. El
mdulo consiste en un sistema embebido en un PIC con una entrada y una salida
digital, 2 entradas y 2 salidas anlogas, el mdulo se comunica con un
computador mediante medio fsico RS-485.
La empresa B&B Electronics [1] comercializa dispositivos de adquisicin de datos
remotos con comunicacin Modbus con diferentes funciones.
Tabla 2.1-Referencias y Precios.
Modelo
Anlogas Digitales
Precio (US)
Salidas Entradas Salidas Entradas
ADAM-4051
/ / / 16 $ 140,00
ADAM-4069
/ / 8 / $ 210,00
ADAM-4068
/ / 8 / $ 165,00
ADAM-4019+
/ 8 / / $ 350,00
ADAM-4118
/ 8 / / $ 285,00
ADAM-4024
4 / / / $ 275,00

En la Tabla 2.1 se puede observar los diferentes precios y modelos de adquisicin
remota de datos, donde la gran desventaja de estos dispositivos es que no
integran las I/O en el mismo dispositivo, si no que vienen aparte y con unos costos
de compra muy altos. El prototipo que se implement incorpora entradas anlogas
y digitales dentro del mismo dispositivo, lo cual es una gran ventaja en
30

comparacin de los dispositivos mostrados. Tambin su diseo se implement con
elementos econmicos y asequibles que se encuentran dentro del mercado local.
Tambin se investig que la compaa DHG [2] tiene a disposicin en su
inventario el mdulo de adquisicin de datos D500M de 4 entradas anlogas; este
dispositivo viene provisto de conexiones directas para 4 seales anlogas del
mismo tipo y rango para cualquier dispositivo con puerto RS-485. El mdulo
permite conexiones con una gran variedad de sensores y suministra todas la
seales acondicionadas, ajustada, linealizadas y convertidas a unidades de
ingeniera. Los valores del dato son trasmitidos va RS-485 usando el protocolo
DGH ASCII o el protocolo Modbus RTU. El protocolo es seleccionado por el
usuario lo cual brinda la posibilidad conectar As Interfaces con algn de estos
protocolos.

2.2 PLC (Programable Logic Controller)

Un PLC o controlador Lgico Programable, son dispositivos electrnicos muy
usados en la Automatizacin industrial capaces de controlar procesos, sistemas o
maquinas usadas en la industria. En principio, un PLC contiene entradas-salidas,
las cuales se conectan directamente a dispositivos como elementos primarios y
finales donde el estado de las salidas, dependen del estado de las entradas y la
lgica del programa.
En forma general la estructura bsica de cualquier autmata programable es:

Fuente de alimentacin: es la encargada de convertir la tensin de la red,
220 . a baja tensin de C.C. normalmente 24V, siendo esta la tensin de
trabajo en los circuitos electrnicos que forma el Autmata.

CPU: la Unidad Central de Procesos es el autntico cerebro del sistema. Es
el encargado de recibir rdenes del operario a travs de la consola de
31

programacin y el mdulo de entradas. Despus las procesa para enviar
respuestas al mdulo de salidas.

Mdulo de entradas: aqu se unen elctricamente los captadores
(interruptores, finales de carrera.). La informacin que recibe la enva al
CPU para ser procesada segn la programacin. Hay 2 tipos de captadores
conectables al mdulo de entradas: los pasivos y los activos.

Mdulo de salida: es el encargado de activar y desactivar los actuadores
(bobinas de contactores, motores pequeos.). La informacin enviada por
las entradas a la CPU, cuando est procesada se enva al mdulo de
salidas para que estas sean activadas (tambin los actuadores que estn
conectados a ellas). Hay 3 mdulos de salidas segn el proceso a controlar
por el autmata: rels, triac y transistores.

Terminal de programacin: la terminal o consola de programacin es el
que permite comunicar al operario con el sistema. Sus funciones son la
transferencia y modificacin de programas, la verificacin de la
programacin y la informacin del funcionamiento de los procesos.

Perifricos: ellos no intervienen directamente en el funcionamiento del
autmata pero s facilitan la labor del operario.

2.2.1 Funciones Bsica de un PLC

Deteccin: lectura de la seal de los captadores distribuidos por el sistema
de fabricacin.
Mando: elaborar y enviar las acciones al sistema mediante los
accionadores y preaccionadores.
32

Dialogo hombre maquina: mantener un dilogo con los operarios de
produccin, obedeciendo sus consignas e informando del estado del
proceso.
Programacin: Para introducir, elaborar y cambiar el programa de
aplicacin del autmata. El dialogo de programacin debe permitir modificar
el programa incluso con el autmata controlando la maquina.

2.3 MICROCONTROLADORES

Los micros controladores son circuitos integrados fundados bajo la arquitectura
tradicional de John Von Neumann.
2
En este modelo la unidad central de proceso o
CPU est conectada a una memoria nica que contiene las instrucciones del
programa y los datos. Este dispositivo electrnico maneja seales con la
capacidad de efectuar tareas de adquisicin y procesamiento de informacin de
datos, el cual est compuesto de las siguientes caractersticas: Una CPU (basado
principalmente en un microprocesador de 4, 8 16 bits), puertos paralelos de
entrada y salida, puerto serie, Timers, contadores, memorias de datos (RAM) y de
programa (ROM), reloj, y en algunos casos hasta convertidores analgicos
digitales, todo esto dentro de un solo chip. Debido a esto los microcontroladores
estn encaminados bsicamente hacia un amplio rango de aplicaciones tales
como; los sistemas de control de alarmas, tableros de control en la industria
automotriz, en la instrumentacin mdica, en los teclados de computadora, en los
sistemas porttiles de almacenamiento de datos, en equipos de laboratorio,
etctera. A pesar de que un microprocesador es ms rpido que un
microcontrolador para la ejecucin de sus instrucciones, en la mayora de los
casos es necesario interconectarlo con dispositivos perifricos.
En el mercado se encuentra una gran variedad de marcas y modelos entre las que
se encontr: MICROCHIP, ATMEL, MOTOROLA, NATIONAL SEMICONCUCTOR,

2

33

CYPRESS, PHILLIPS y TEXAS INSTRUMENTS. Estas compaas producen
microprocesadores de las siguientes familias:
INTEL las familias 8038, 8051 y 8052.
MICROCHIP se encuentran las familias PIC (familias 12, 14, 16, 17, 18).
MOTOROLA las familias 68HC05, 68HC08, 68HC11, 68HC12, 68HC16y
MC68CXX.
ATMEL las familias AT89 y AT91.
TEXAS INSTRUMENTS las familias TMS370, TMS370C16 TMS370 y
MSP430.

2.4 AMPLIFICADORES OPERACIONALES

Los amplificadores operacionales son dispositivos electrnicos que ofrecen
mltiples aplicaciones en el procesamiento de seales elctricas, los cuales
modifican la magnitud y/o fase de estas.
Algunas diversas aplicaciones son: amplificacin, filtrado analgico, acoplamiento,
rectificacin, deteccin de umbral, conmutacin digital, etc. [12]
Los amplificadores operacionales se caracterizan por:

Una Impedancia de Entrada muy alta.
Una Impedancia de Salida bastante baja.
Una Ganancia muy alta alrededor de los 10000.
Un Ancho de Banda (BW) que tiende a infinito.
Una buena respuesta en frecuencia.

El smbolo bsico de un circuito operacional es un triangulo donde generalmente
se representa con 5 pines (Vase Figura 2.1):




34

Figura 2.1-Smbolo del amplificador operacional


Alimentacin positiva (Vs+).
Alimentacin negativa (Vs-).
Entrada no inversora (+).
Entrada inversora (-).
Salida (Vout).

Donde al aplicar la teora de AO y la teora de circuitos elctricos se encuentra que
la ecuacin que relaciona la salida en funcin de la entrada es:
Ec. 1
En este tipo de configuracin el voltaje de entrada ingresa por el pin positivo (+)
pero como la ganancia del operacional es muy grande, el voltaje de entrada
positivo ser igual al voltaje de entrada negativo
Dado a su diferencia de potencial:
Ec. 2
Quedando La salida en funcin de la entrada:
Ec. 3

35

2.4.1 Tipos de Configuracin

Casi todos los amplificadores operacionales estn basados en estas 2
configuraciones bsicas; la configuracin no inversora y la configuracin inversora.

2.4.1.1 Configuracin No Inversora

En este caso la seal a amplificar se aplica al pin no inversor (+) del Amplificador
Operacional y como el nombre indica la seal de salida no est invertido respecto
a la entrada. En la Figura 2.2 se observa el circuito del amplificador no inverso
Figura 2.2-Circuito Esquemtico del Amplificador No inversor


Conociendo el voltaje en el pin inversor (-) podemos calcular la relacin que existe
entre el voltaje de salida (Vout) con respecto al voltaje de entrada (Vin) haciendo
uso de un pequeo divisor de tensin.
36

Ec. 4
Donde su ganancia es: en este caso la seal a amplificar se aplica al pin no
inversor (+) del Amplificador Operacional y como el nombre indica la seal de
salida no est invertido respecto a la entrada.
Ec. 5
2.4.1.2 Configuracin Inversora

Se denomina inversor ya qu la forma de la seal de salida es igual a la forma de
la seal de entrada pero con la fase invertida a 180 grados. El anlisis de este
circuito es el siguiente: el voltaje positivo es igual al voltaje negativo los cuales
sern igual a cero.
Ec. 6
En la Figura 2.3 se observa el circuito del amplificador inverso.
Figura 2.3-Circuito Esquemtico del Amplificador Inversor


Donde la ecuacin que relaciona la salida respecto a la entrada es:
Ec. 7
37

Y su ganancia es:
Ec. 8

2.4.1.3 Configuracin Diferencial

Este amplificador es una combinacin de las 2 configuraciones anteriores aunque
est basada en los otros 2 circuitos, el amplificador diferencial tiene caractersticas
nicas. Este circuito tiene aplicada seales en ambos terminales de entrada y
utiliza la amplificacin diferencial natural del amplificador operacional para 2
funciones bsicas tales como (Vase Figura 2.4):
Acondicionamiento de seales anlogas.
Manipulacin de pequeas seales de baja potencia.

Figura 2.4-Circuito Esquemtico del Amplificador Diferencial


Suponiendo que el circuito esta balanceado, la ecuacin que caracteriza a este
circuito en funcin de la entrada es la siguiente:
Ec. 9
Donde su ganancia:
38

Ec. 10

2.4.1.4 Configuracin Seguidor de Voltaje

Esta configuracin tiene como funcin realizar el acople de impedancias, ya que,
en teora no consume ninguna corriente en su entrada y entrega seal en su
salida.

Figura 2.5-Circuito Esquemtico del Amplificador Seguidor de Voltaje


Como se puede apreciar en la Figura 2.5 la tensin de la seal de salida sigue a la
de entrada, de ah su nombre. Entonces la salida en trminos de la entrada es:
Ec. 11
2.5 MDULO LCD

Un mdulo LCD es un dispositivo electrnico digital que est constituido por una
pantalla de cristal lquido, un controlador y dos memorias internas independientes:
la DDRAM y la CGRAM. Debido a esta peculiar disposicin el mdulo puede
obtener eficientemente el mecanismo de mostrar los caracteres alfanumricos con
tan solo enviar el cdigo ASCII asociado. El LCD tiene el siguiente aspecto fsico
como se ve en la Figura 2.6.
39


Figura 2.6-Modulo LCD


El mdulo LCD incorpora su propio mtodo de comunicacin para realizar
operaciones de lectura y escritura. Es por ello, que el mdulo LCD cuenta con
unos Bits de control con los cuales el dispositivo identifica cuando el dato en el bus
es una instruccin o informacin a almacenar en la memoria, que
automticamente es desplegada en pantalla. RS es el Bit de control que le indican
al procesador cuando la palabra de transmisin es un dato (1) o instruccin (0).
En la Figura 2.7 se muestra la asignacin de pines correspondiente de un Mdulo
LCD con sus respectivas caractersticas.









40


Tabla 2.2-Asignacin de pines del LCD
NUMERO DEL PIN SMBOLO FUNCIN
1 Vdd Fuente de Alimentacin(5V)
2 Vss Tierra (GND)
3 Vo Contraste de Ajuste
4 RS Registro de la Seal de Control H/ L
5 R/W Seal de lectura / escritura H/L
6 E Seal de Habilitacin H
7 DB0 Lnea de Bus de Dato H/ L
8 DB1 Lnea de Bus de Dato H/ L
9 DB2 Lnea de Bus de Dato H/ L
10 DB3 Lnea de Bus de Dato H/ L
11 DB4 Lnea de Bus de Dato H/ L
12 DB5 Lnea de Bus de Dato H/ L
13 DB6 Lnea de Bus de Dato H/ L
14 DB7 Lnea de Bus de Dato H/ L

2.6 SISTEMAS DE ADQUISICIN DE DATOS

Una tarjeta de adquisicin de datos es un sistema que utiliza sensores,
transductores, amplificadores, convertidores analgico-digital (A/D) y digital-
analgico (D/A), que interactan entre s ofreciendo procesar informacin de un
sistema fsico del mundo real (datos-analgicos) en forma digitalizada, donde cada
dispositivo no solo trabaja de manera individual sino que trabaja efectivamente con
los dems componentes para que todo el sistema opere correctamente.
Una vez que las seales elctricas se transforman en digitales, se envan a travs
del bus de datos a la memoria del computador Personal Computer (PC). Los datos
analgicos tomados del sistema fsico se convierten en un valor de voltaje a travs
del conversor A/D que a su vez corresponde a una combinacin binaria. Esta
conversin requiere de un sensor o transductor que se encarga de leer la variable
41

fsica y de representar dicha variable en un valor de voltaje o corriente, por el cual
tenemos que hacer llegar al ADC del microcontrolador.
Para que el ADC pueda realizar la conversin del valor analgico, se le tiene que
agregar un voltaje de referencia, porque ste es el que indica precisamente cul
es el rango de operacin de la entrada del ADC. Todos los ADC del Peripheral
Interface Controller (PIC), aceptan como mximo un rango de operacin que llega
hasta 5V, por lo que podemos establecer rangos de operacin de cualquier valor
de voltaje, siempre y cuando no rebasemos los 5V. [14]
Una vez definido el rango, la seal a digitalizar posee una frecuencia alta de
operacin y para reproducirla en un proceso posterior hay que tomar un buen
nmero de muestras donde as digitalizarlas como tal. En caso contrario,
aparecer el fenmeno del aliasing (Vase Figura 2.8), que se produce al infra-
muestrear. Si la seal sufre aliasing, es imposible recuperar el original.
Velocidad de muestreo recomendada:
2*frecuencia mayor (medida de frecuencia)
10*frecuencia mayor (detalle de la forma de onda)







42


Figura 2.7-Filtro Antialising

2.6.1 Elementos de un Sistema de Adquisicin de Datos

Un sistema de adquisicin de datos (Vase Figura 2.9).consta bsicamente de:
Las fuentes de seales, que son de dos clases:

Elementos medicin directa: producen la seal como resultado de
cantidades elctricas, como mediciones de voltaje, de corriente, de
resistencia, de frecuencia, etc.
Transductores: dispositivos que censan los fenmenos fsicos y convierten
parmetros no elctricos en seales elctricas, ejemplos de ellos son las
resistencias detectoras de temperatura, Detectores Resistivos de
Temperatura (RTDS), los transductores de flujo, transductores de presin,
43

etc. En cada caso las seales elctricas son proporcionales a los
parmetros fsicos que monitorean.
2.6.1.1 Elementos de Acondicionamiento de Seales

Estos elementos realizan la tarea de amplificar las seales de bajo nivel, aislarlas
y filtrarlas para tomar mediciones ms precisas. Adems algunos transductores
usan voltaje o corriente como excitacin para poder producir su valor de salida.

Figura 2.8-Sistema de Adquisicin de Datos Anlogos.


Etapa de Acondicionamiento
El problema es que la mayora de los sensores y transductores generan seales
que se debe acondicionar antes de que un dispositivo tarjeta de Adquisicin de
Datos (DAQ) que pueda adquirir con precisin la seal. Este procesamiento al
frente, conocido como acondicionamiento de seal, incluye funciones como
amplificacin, filtrado, aislamiento elctrico y multiplexado.
El acondicionamiento de seales se divide entonces en:

44

Amplificacin: Es el tipo ms comn de acondicionamiento. Cuando las
seales son muy pequeas deben amplificarse para incrementar su
resolucin y reducir el ruido.
Aislamiento: Las seales del transductor del medio ambiente y las seales
del equipo receptor se aslan para reducir ruidos que las distorsionan. En
las seales del receptor se aslan para evitar transiciones de voltaje que lo
daen. Una razn adicional es asegurar que las lecturas del equipo de
medicin no sean afectadas por diferencias en potenciales de tierra o
voltajes de modo comn, ya que esta diferencia puede resultar
imprecisiones en la seal adquirida, o si la diferencia es muy grande, puede
daar el sistema de medicin.

Multiplexado: Es una tcnica para medir varias seales con un solo
dispositivo. A menudo se multiplexa para monitorear diferentes fuentes de
seales de lenta variacin como por ejemplo la temperatura. El instrumento
toma muestra de un canal, cambia al prximo canal y toma otra muestra, y
as contina. Se aconseja que los multiplexores se utilicen antes del
conversor y despus del condicionamiento de la seal, ya que de esta
manera no molestar a los aislantes que podamos tener.

Filtrado: El filtro elimina las seales indeseadas de las que se estn
tratando de medir. Para las seales de tipo DC (temperatura) se usa un
filtro de ruido que reducen la precisin de la medicin y para las seales de
tipo AC tales como las de vibracin, requieren otros filtros conocidos como
filtros antialiasing, los cuales son filtros pasa bajas con una ventana de
corte muy alta para remover casi completamente las frecuencias
indeseables.

Excitacin: Prcticamente es la induccin electromagntica que genera la
etapa de acondicionamiento hacia algunos transductores como galgas
45

extensiometricas, termistores o RTD que por su constitucin necesitan de la
misma.

Linealizacion: Muchos transductores como los termopares, tienen una
respuesta no lineal a los cambios en el fenmeno que estn midiendo por lo
que se requieren rutinas de Linealizacion que calculan los nuevos valores
correspondientes a su medicin.
Instrumentos de registro grafico. Registran el comportamiento en el tiempo
de las seales monitoreadas. Estos registros se pueden imprimir en rollos
de papel o en una pantalla de computador.

2.7 COMUNICACIONES SERIALES

El concepto de comunicacin serial es simple, es un cdigo de codificacin binario
que representa los caracteres de los mensajes digitales de los Bits a travs de 0 y
1, en serie , uno detrs de otro, lo que hacen que la transmisin sean mucho ms
lentas que sus homlogas "paralelo" en las que se transmiten varios Bits a la vez.
Tanto en dispositivos de transmisin como en dispositivos de recepcin los
puertos serie son los dispositivos a travs de los cuales los datos son transferidos.
En este cdigo los 0 y 1 son caracteres, por lo tanto las comunicaciones seriales
son un cdigo binario por que usan solo 2 valores posibles ceros y unos. Este
concepto ha seguido los estndares definidos desde 1969 por el RS-
232(Recommended Standard 232).
La velocidad de transmisin de datos es expresada en Bits por segundo o
Baudios, donde todo tipo de comunicacin serial tiene que realizarse en tiempos
correctos, es decir que, los dispositivos a comunicarse deben tener la misma
velocidad de transferencia, donde comnmente es de 9600bps que es equivalente
a decir tambin 1Bit cada 10S.
46

Existen varios modos bsicos para las transmisiones serie:
Simplex: Un dispositivo transmite y el otro recibe.
Halfduplex: Ambos dispositivos transmiten pero no simultneamente, esto
quiere decir que mientras un dispositivo transmite la otra espera hasta que
lo reciba.
Full-duplex: Ambos equipos transmiten simultneamente. Para ello se
requieren dos lneas independientes, transmisin y recepcin; la lnea de
transmisin de un equipo se conecta a la entrada de recepcin del otro y
viceversa. Los puertos serie del PC son capaces de utilizar este modo.
Asncronas: Las transmisiones asncronas son aquellas en que los Bits
que constituyen el cdigo de un carcter se emiten con la ayuda de
impulsos suplementarios que permiten mantener en sincronismo en los dos
extremos.
Sncronas: En las transmisiones sncronas los caracteres se transmiten
consecutivamente, no existiendo ni Bit de inicio ni Bit de parada entre los
caracteres, estando dividida la corriente de caracteres en bloques,
envindose una secuencia de sincronizacin al inicio de cada bloque.
Figura 2.9-Trama de las Comunicaciones Seriales.


Las caractersticas seriales ms importantes son: tasa de baudios, Bits de datos,
Bits de paro, y paridad (Vase Figura 2.10).
Tasa de baudios: es una unidad de medicin para comunicacin que indica
el nmero de Bits transferidos por segundo.
47


Bits de datos: son mediciones de los Bits de datos actuales en una
transmisin, la cantidad de datos actuales puede ser que no complete 8
Bits. Los valores estndar para los paquetes de datos son de 5, 7, y 8 Bits.
El marco que usted elija depender de la informacin que est transfiriendo.

Bits de paro: son utilizados para sealar el trmino de comunicaciones en
un paquete sencillo.

Bit de paridad: este Bit se utiliza para comprobar si los Bits de datos han
sido bien recibidos. Existen estas variantes:
Paridad par: si la suma de los Bits de datos es par, el Bit de paridad es 1,
si es impar, el Bit de paridad es 0.
Paridad impar: si la suma de los Bits de datos es impar, el Bit de paridad
es 1, si es par, el Bit de paridad es 0.Sin paridad. No se utiliza el Bit de
paridad.

2.8 PROTOCOLOS DE COMUNICACIN

En la actualidad existen diversos protocolos que rigen las comunicaciones en el
ambiente industrial, con diferentes caractersticas tales como, el medio fsico en la
que se trasporta los datos, la manera en que se segmenta, se codifican y se
interpretan los datos para ser trasmitidos y recibidos.
Un protocolo de comunicacin es un conjunto de reglas que permiten la
transferencia e intercambio de datos entre distintos dispositivos que conforman
una red. [13]
Con la evolucin de los microprocesadores, ha sido ms factible su unificacin a
redes industriales con notable ventajas como:
48

Mayor precisin originada por la integracin de tecnologa digital en las
mediciones.
Mejor y mayor abarcamiento de informacin de los dispositivos.
Monitoreo remoto de componentes.
Los buses de campo permite la integracin de equipos de medicin y control de
variables de procesos. Su objetivo primordial es sustituir las conexiones punto a
punto entre los elementos de campo y el equipo de control.
Normalmente son redes digitales, bidireccionales, multipunto, montadas sobre un
bus en serie, que conecta dispositivos de campo como PLCs, transductores,
actuadores, sensores y equipos de supervisin.
Los buses con mayor presencia en el sector industrial son:
HART
Profibus
Fieldbus Foundation
CAN bus
InterBus-S
Seriplex
ASI
InterBus Loop
Modbus
Modbus Plus

2.8.1 Modbus

[8]El protocolo Modbus fue desarrollado por Modicon a finales de 1980 para
comunicacin entre PLCs. La designacin Modbus Modicon corresponde a una
marca registrada por Gould Inc.
Como en tantos otros casos, la designacin no corresponde propiamente al
estndar de red, incluyendo todos los aspectos desde el nivel fsico hasta el de
aplicacin, sino a un protocolo de enlace (nivel OSI 2)
3
. Puede por tanto,

3
El modelo de referencia de Interconexin de Sistemas Abiertos (OSI, Open System Interconection) lanzado
en 1984 fue el modelo de red descriptivo creado por ISO. Proporcion a los fabricantes un conjunto de
49

implementarse con diversos tipos de conexin fsica y cada fabricante suele
suministrar un software de aplicacin propio, que permite parametrizar sus
productos. Durante la comunicacin sobre una red Modbus, el protocolo determina
como cada controlador conocer su direccin de dispositivo, reconocer un
mensaje direccionado a l, determinara el tipo de accin a tomar y extraer
cualquier dato u otra informacin contenida en el mensaje. La principal
caracterstica de este bus de campo es el control de acceso al medio, tipo
Maestro/Esclavo.
En la actualidad debido a su simplicidad y especificacin abierta, actualmente es
ampliamente utilizado por diferentes fabricantes.

2.8.1.1 Modbus Capa de Aplicacin

Modbus se enfoca en la capa de aplicacin (protocolo de mensaje), se encuentra
en el nivel 7 del modelo OSI, tambin permite la comunicacin con diferentes tipos
de redes o buses entre cliente y servidor.
Modbus es un protocolo de solicitud/respuesta y proporciona servicios
especificados por cdigos de funcin. Los comandos de Modbus son funciones de
solicitud/respuesta de la PDUs. El alcance de este documento describe como
establecer una comunicacin entre Maestro/Esclavo, donde la tarjeta de
adquisicin de datos ser el Esclavo y el PLC el Maestro.
Para lograr la interoperabilidad entre diferentes clases de buses y redes
actualmente esta implementado as:
TCP/IP sobre Ethernet.
Trasmisin serial asncrona a travs de varios medios (EIA/TIA-232, EIA-
422, EIA/TIA-485-A, fibra, radio, etc.)

estndares que aseguraron una mayor compatibilidad e interoperabilidad entre los distintos tipos de
tecnologa de red producidos por las empresas a nivel mundial.
50

Modbus plus, una alta velocidad paso de la seal en red.
En la Figura 2.11 se encuentra la comunicacin general del Modbus.


Figura 2.10-Comunicacin General del Modbus.

Fuente [8]

El protocolo Modbus permite una fcil comunicacin con todo tipo de arquitectura
de redes. En Figura 2.12 se observa algunos tipos de integracin de redes
Modbus










51









Figura 2.11-Ejemplo de una Arquitectura de Redes de Modbus.
5000
5000
5000


Cada tipo de dispositivo (PLC, HMI, Panel de control, driver, interfaces de I/O)
puede usar Modbus para iniciar una operacin remota.
La misma comunicacin se puede hacer tanto como en serial o redes Ethernet
TCP/IP. Los Gateways permiten una comunicacin entre diferentes tipos de redes
usando el protocolo Modbus.

52





2.8.2 Descripcin General

2.8.2.1 Descripcin del Protocolo

El Modbus define una unidad de dato independiente (PDU) de las capas de
comunicacin principal del modelo OSI.
La Unidad de Dato del Protocolo PDU, se le puede adicionar un campo sobre La
Unidad de Dato de Aplicacin (ADU), para buses especficos o redes. En la
siguiente Figura 2.13 se muestra la estructura general de la trama Modbus.

Figura 2.12-Trama General del Modbus.

Fuente [8]
La funcin de la unidad de dato de aplicacin (ADU) del Maestro indica al Esclavo
que clase de accin debe desarrollar .El protocolo de aplicacin Modbus se ubica
en el nivel 7 del modelo OSI y establece el formato de una solicitud iniciada por un
Maestro.
53

El cdigo de funcin de la unidad de datos del Modbus es codificado en un solo
Byte. Los cdigos validos estn en el rango de 1-255 en formato decimal (el rango
de 128-255 es reservado y usado para respuestas en excepcin). Cuando el
mensaje es enviado desde un Maestro a un Esclavo la trama del cdigo de funcin
le dice al Esclavo que clase de accin debe desarrollar, donde el cdigo de
funcin 0 no es vlido. Estos cdigos de funcin agregan cdigos de sub-funcin
para definir mltiples acciones.
La trama del dato utiliza informacin adicional del cdigo de funcin para que el
Esclavo reconozca la accin definida por el cdigo de funcin. Esta informacin
adicional de la trama puede incluir tems de direccionamiento de registros donde
son manejados por el contador del Byte del dato en la trama.
En ocasiones la trama del dato puede venir en 0, en este caso el Esclavo no
requiere una informacin adicional y el cdigo de funcin solo especifica la accin.
Sin ningn error ocurre relacionado con el cdigo de funcin solicitado en una
recepcin adecuada, la trama del dato de la respuesta de un Esclavo a un Maestro
contiene el dato requerido. Por el contrario si ocurre un error, la trama del dato
contiene un cdigo de excepcin para que la aplicacin del Esclavo la pueda usar
y as determinar la siguiente accin a tomar.
Por ejemplo un Maestro puede leer el estado ON/OFF de un grupo I/O o puede
leer o escribir el contenido del dato de un grupo de registros. Cundo el Esclavo
responde al Maestro este usa el cdigo de funcin para indicar una normal
respuesta (sin error) o alguna clase de error ocurrido (llamado una respuesta
opcional).Para una respuesta normal el Esclavo simplemente repite la solicitud del
original cdigo de funcin. La Figura 2.14 muestra el orden secuencial de tramas
de una transmisin (solicitud) y recepcin (respuesta).


54




Figura 2.13-Transaccin del Modbus (libre de error).

Fuente [8]

Para una respuesta en excepcin, el Esclavo devuelve un cdigo que es
equivalente al cdigo de funcin original de la PDU solicitada con su Bit ms
significativo seteado en 1. En la Figura 2.15 detalla cmo es una respuesta en
excepcin del dispositivo Esclavo hacia el dispositivo Maestro.





55




Figura 2.14-Transaccin del Modbus (Respuesta en Excepcin)

Fuente [8]

El tamao de la PDU es limitada por el tamao de la implementacin del protocolo
Modbus sobre redes seriales (Max. RS485 ADU=256 Bytes).
Por lo tanto:
La PDU por lnea de comunicacin serial= 265-direccion Esclavo (1 Byte)- CRC
(2 Bytes)=253 Bytes
Consecuentemente:
RS232 /RS485 ADU = 253 Bytes+ direccin Esclavo (1 Byte)+ CRC (2 Bytes)=
256 Bytes.
TCP MODBUS ADU = 253 Bytes+ MBAP (7 Bytes) = 260 Bytes.
El Modbus define tres PDUS:
56


MODBUS Solicitud PDU, mb_req_pdu: La mb_req_pdu est definida
como:
mb_req_pdu = {function_code, request_data}, donde
function_code = [1 Byte] Modbus cdigo de funcin
request_data = [n Byte] Esta trama es una funcin de cdigo dependiente y
usualmente contiene informacin adicional, como por ejemplo: referencia de
variable, contador de variables, cdigos de sub-funciones etc.

MODBUS Respuesta PDU, mb_rsp_pdu
La mb_rsp_pdu es definida como:
mb_rsp_pdu = {function_code, response_data},
Dnde:
function_code= [1 Byte] Modbus cdigo de funcin
response_data= [n Byte] Esta trama es una funcin de cdigo dependiente
y usualmente contiene informacin adicional, como por ejemplo: referencia
de variable, contador de variables, cdigos de sub-funciones etc.

MODBUS respuesta de excepcin PDU, mb_excep_rsp_pdu
La mb_exceo_rsp_pdu es definida como:
mb_excep_rsp_pdu = {exception-function_code, request_data}
Dnde:
Exception-function_code= [1 Byte] Modbus cdigo de funcin + 0x80
exception_code = [1 Byte] El cdigo de excepcin Modbus est definido en
la Tabla 2.7.

57

Decodificacin del Dato: Modbus usa una representacin big Endian
4

para las direcciones e tems del dato. Esto significa que cuando hay una cantidad
numrica ms grande que un simple Byte transmitido, el Byte ms significativo es
enviado primero. Por ejemplo:
Tamao del Registro 16 Bits
Valor 0x1234 El primer Byte enviado es 0x12 despus 0x34

Modelo del Dato Modbus: Modbus basa su modelo del dato en unas
series de ndices que tienen sus caractersticas principales.
Las cuatro caractersticas primordiales pueden verse en la Tabla 2.2.
Tabla 2.3-Modelo del Dato Modbus
Primeros
ndices
Tipo de
Objet Tipo de Comentarios
Entradas
discretas Un solo Bit Solo lectura
Este tipo de dato puede ser
suministrado por I/O del
sistema
Bobinas Un solo Bit
Lectura-
Escritura
Este tipo de dato puede ser
alterado por una aplicacin del
programa
Registros de
entrada
Palabra de
16-Bit Solo lectura
Este tipo de dato puede ser
suministrado por I/O del
sistema
Registros
holding
Palabra de
16-Bit
Lectura-
Escritura
Este tipo de dato puede ser
alterado por una aplicacin del
programa

4 El trmino Big Endian se refiere a la forma en que los nmeros binarios de bytes mltiples son guardados
en la computadora.
58


Las diferencias entre entradas/salidas, y entre Bit-direccionable y palabra-
direccionable de los tems del dato, no implican ningn comportamiento de
aplicacin. Es perfectamente aceptable, y muy comn, a lo que se refiere a las
cuatro caractersticas, como solapamiento entre s, siendo esta la ms natural
interpretacin del objetivo de dispositivo en cuestin.
Por cada una de estas caractersticas, el protocolo permite elegir de los 65536
tems del dato solo uno, y las operaciones de leer o escribir de estos tems son
designadas para abarcar mltiples y consecutivos tems del dato hasta alcanzar
un lmite del tamao del dato l cual es dependiente de la comunicacin del cdigo
de la funcin.
Es obvio que todo el dato manejado por va Modbus debe ser localizado en
dispositivos de memoria de aplicacin del Esclavo. Pero la direccin fsica en
memoria no debe ser confundida por los datos de referencia. El nico requisito es
establecer un vnculo de datos de referencia con la direccin fsica.
Los nmeros de referencia lgica del Modbus que son usados en funciones, son
ndices enteros sin signo a partir del cero
Modelo Direccionamiento Modbus: el protocolo de aplicacin Modbus
define precisamente reglas para el direccionamiento de la PDU.
En una PDU-MODBUS cada dato es direccionado desde: [0 -65535]. Esto tambin
define claramente un modelo del dato compuesto de 4 bloques que comprenden
varios elementos numerados desde 1 hasta n.
El modelo del dato-Modbus tiene que ser obligado a la aplicacin del dispositivo
(objeto IEC-61131
5
, u otro modelo de aplicacin), donde el pre-mapeado entre el

5 El estndar internacional IEC 61131 es el primer paso para la estandarizacin de los autnomas
programable y sus perifricos, incluyendo los lenguajes de programacin que se debe utilizar.
59

modelo del dato Modbus y el dispositivo de aplicacin, es totalmente del diseador
del dispositivo especfico.
Definicin de la transaccin del Modbus: en la Figura 2.16 se observa el
diagrama de estado que describe el procesamiento genrico de una transaccin
Modbus en el Esclavo.

Figura 2.15-Diagrama de Flujo de la Transaccin del Modbus.
60



Una vez la solicitud ha sido procesada por un Esclavo, se construye una respuesta
mediante la adecuada transaccin del Esclavo Modbus.
61

Dependiendo del resultado del procesamiento de los 2 tipos de respuesta se
construye as:
Para una respuesta sin excepcin:
La respuesta cdigo de funcin = La solicitud del cdigo de la funcin
Para una respuesta excepcin:
El objetivo es suministrar al Maestro de informacin relevante
concerniente al error detectado durante el procesamiento.
El cdigo de funcin de excepcin = la solicitud del cdigo de funcin +
0x80.
Un cdigo en excepcin es suministrado para indicar la razn del error.

Categoras del cdigo de funcin: hay 3 categoras de cdigos de
Funcin del Modbus, las cuales son:

1. Cdigos de Funcin Pblicos

Los cdigos de funcin estn bien definidos.
Garantiza que sea nico.
Validado por la comunidad MODBUS-IDA.org
Pblicamente documentado.
Incluye ambos, los cdigos de funcin pblicos definidos como tan bien los
cdigos indefinidos de funcin reservados para uso futuro.

2. Cdigos de Funcin Definidos por el Usuario

Hay 2 rangos para que el usuario defina cdigos de funcin, es decir 65 a
72 y desde 100 a 110 decimal
62

El usuario puede seleccionar e implementar un cdigo de funcin que no
est soportado por la especificacin.
No hay garanta que el uso del cdigo de la funcin seleccionada sea nico.
Si el usuario quiere reasignar una funcionalidad de un cdigo de funcin
pblico, tendr que iniciar una RFC para introducir el cambio dentro de la
categora pblica y tener un nuevo cdigo de funcin pblico asignado.
La organizacin Modbus-Inc. expresamente se reserva desarrollar el
propsito de una RFC.

3. Cdigos de Funcin Reservados

Los cdigos de funcin actualmente usados por algunas compaas
para legalizar productos y no estn disponibles para uso del pblico
De la Tabla 2.3 se aprecian algunos cdigos de funcin actualmente usados por
algunas compaas para legalizar sus productos y no estn disponibles para uso
del pblico.








63

Tabla 2.4-Categora del Cdigo de Funcin del Modbus.
127
Cdigos de funcin pblicos
100
Cdigos de funcin definidos por el usuario
72
Cdigos de funcin pblicos
65
Cdigos de funcin definidos por el usuario
1
Cdigos de funcin pblicos
Fuente [8]

Definicin del los cdigos de funcin pblicos: la Tabla 2.4 se describe
los cdigos de funcin disponibles que ya han sido definidos para el pblico.











64

Tabla 2.5-Definicin de Cdigo de Funcin Pblico.

Cdigos de
Funcin

Cdigo
Su
cd
igo
(
H
e
x)
Dato
de
Acceso
Bits de
Acceso
Entradas
Digitales
Fsicas
Lectura de
Entradas
Digitales 02
0
2
Bits Internos o
Bobinas
Fsicas
Lectura de
Bobinas 01
0
1
Escritura de
una sola
Bobina 05
0
5
Escritura de
Mltiples
Bobinas 15
0
F

16 Bits
de
Acceso
Entradas
Fsicas de
Registros


Lectura de
Entrada
Anloga 04
0
4
Lectura de
Registros
Holding 03
0
3
Escritura de un
solo Registro 06
0
6
Registros
Internos
Escritura de
Mltiples
Registros 16
1
0
Lectura/Escritu
ra Mltiples
Registros 23
1
7
Registros de
Salida Fsicos.
Mascara del
Registro de
Escritura 22
1
6

Lectura de
cola del FIFO 24
1
8
Acceso de File Record
Lectura de File
Record 20
1
4
Escritura de
File Record 21
1
5
Diagnsticos
Lectura de
Estado en 07
0
7
65

Excepcin
Diagnostico 08
00-
18,
20
0
8
Obtencin de
Contador de
eventos 11
0
B
Obtencin del
Registro de
eventos 12
0
C
Informe de
Esclavos ID 17
1
1
Lectura del
dispositivo de
Identificacin 43
2
B
Otro
Encapsulado
de Interface 43
2
B

Referencia
General del
CAN open 43 13
2
B

Descripcin de los cdigos de funcin: a continuacin se describen
algunos de los cdigos de funcin pblicos.

01(0x01) Lectura de bobinas: esta funcin es usada para leer desde 1 a
2000 estados contiguos de bobinas en un dispositivo remoto. La solicitud de la
PDU especfica la direccin de inicio, es decir la direccin de la primera bobina y el
nmero de bobinas. En la PDU las bobinas son direccionadas empezando por
cero. Por otro lado las bobinas enumeradas de 1-16 son direccionadas como 0-15.
Las bobinas en el mensaje de respuestas son empaquetadas con un Bit por
bobina en la trama del dato. El estado es mostrado como 1=ON y 0=OFF. El LSB
del primer Byte del dato contiene la salida direccionada en la solicitud. Las otras
bobinas siguen hacia el final de la parte alta de ese Byte, y desde la parte baja
hasta la parte alta en los Bytes posteriores.
66

Si la cantidad de la salida que se devuelve no es un mltiplo de 8, los Bits
restantes en el Byte del dato final ser rellenado con ceros (hacia el orden superior
del final del Byte).El Byte de conteo indica la cantidad de Bytes completos del
dato.
02(0x02) Lectura de entradas digitales: esta funcin es usada para leer
desde [1 a 2000] estados contiguos de entradas digitales en un dispositivo remoto
(Esclavo). La solicitud (Maestro) de la PDU especfica la direccin de inicio, es
decir la direccin de la primera entrada y el nmero de entradas. En la PDU las
entradas digitales son direccionadas empezando por cero. Por otro lado las
entradas digitales enumeradas de [1-16] son direccionadas como [0-15].
Las entradas digitales en el mensaje de respuestas son empaquetadas un Bit por
entradas en la trama del dato. El estado es mostrado como 1=ON y 0=OFF. El
LSB del primer Byte del dato contiene las entradas direccionadas en la solicitud.
Las otras entradas siguen hacia la parte alta del el final de ese Byte, y desde la
parte baja hasta la parte alta en los Bytes posteriores.
Si la cantidad de las entradas que se devuelve no es un mltiplo de 8, los Bits
restantes en el Byte del dato final sern rellenados con ceros (hacia el orden
superior del final del Byte). El Byte de conteo indica la cantidad de Bytes
completos del dato. En la Tabla 2.5 se muestra como es el envi de la solitud, la
respuesta y el error.





67

Tabla 2.6-Envi de Funcin 04
Solicitud
Cdigo de funcin 1 Byte 0x02
Direccin de inicio 2 Bytes 0x0000 hasta 0xFFFF
Cantidad de entradas 2 Bytes 1 hasta 2000 (0x7D0)

Respuesta
Cdigo de funcin 1 Byte 0x02
Contador de byte 1 Byte N*
Estado de las Entradas N* x 1 Byte
*N = Cantidad de entradas / 8 si el resto es diferente de 0 N = N +1
Error
Cdigo de error 1 Byte 0x82
Cdigo de excepcin 1 Byte 01 o 02 o 03 o 04
Fuente [8]

03(0x03) Lectura de registro de retencin: esta funcin es usada para
leer el contenido de un bloque contiguo de un registro de retencin en un
dispositivo remoto. La solicitud de la PDU especfica la direccin de inicio y el
nmero de registros. En la PDU los registros son direccionados empezando por
cero. Por otro lado los registros enumerados de 1-16 son direccionados como 0-
15.
Los datos de registros en el mensaje de respuestas son empaquetados por dos Bit
por registro. El estado es mostrado como 1=ON y 0=OFF. El LSB del primer Byte
del dato contiene las entradas direccionadas en la solicitud. Las otras entradas
68

siguen hacia orden superior del el final de ese Byte, y desde el orden inferior al
orden superior en los Bytes posteriores.
Si la cantidad de las entradas que se devuelve no es un mltiplo de 8, los Bits
restantes en el Byte del dato final sern rellenados con ceros (hacia el orden
superior del final del Byte). El Byte de conteo indica la cantidad de Bytes
completos del dato.
04(0x04) Lectura de entrada anloga: esta funcin es usada para leer
desde [1-125] entradas anlogas contiguas en un dispositivo remoto (Esclavo). La
solicitud (Maestro) de la PDU especifica la direccin de inicio del registro y el
nmero de registros. Los registros de la PDU son direccionados empezando por
cero. Por otro lado los registros enumerados de [1-16] son direccionados como [0-
15].
Los datos de registros en el mensaje de respuestas son empaquetados por dos
Bytes por registro, con el contenido binario es justificado a la derecha dentro de
cada Byte. Por cada registro, el primer Byte contiene la parte alta del los Bits y la
segunda contiene la parte baja de los Bits. En la Tabla 2.6 se muestra como es el
envi de la solitud, la respuesta y el error.








69


Tabla 2.7-Envi de Funcin 04
Solicitud
Cdigo de funcin 1 Byte 0x04
Direccin de inicio 2 Bytes 0x0000 hasta 0xFFFF
Cantidad de registros de entrada 2 Bytes 0x0001 hasta 0x007D

Respuesta
Cdigo de funcin 1 Byte 0x04
Contador de byte 1 Byte 2 x N*
Estado de las Entradas N* x 2 Byte
*N = Cantidad de Registros de entrada.

Error
Cdigo de error
1 Byte
0x84

Cdigo de excepcin
1 Byte
01 o 02 o 03 o 04

Fuente [8]

05(0x05) Lectura de una sola bobina: este cdigo de funcin es usado
para escribir una sola salida para cualquier estado ON /OFF en un dispositivo
remoto. Esta solicitud de estado ON/OFF se especifica por una constante en la
solicitud del campo del dato. Un a solicitud de valor 0X0000 puede ser OFF. Todos
los otros valores son ilegales y no afectaran la salida.
La solicitud de la PDU especfica la direccin de la bobina para ser cambiada. Las
bobinas son direccionadas para empezar en cero. Por lo tanto la bobina numerado
1 es direccionado como 0. El estado de la solicitud ON/OFF esta especificado por
una constante en el valor del campo de la bobina. Un valor de 0XFF00 solicita a la
bobina que este en ON. Un valor de 0X0000 solicita a la bobina estar en OFF.
Todos los otros valores son ilegales y no afectaran a bobina.
La respuesta normal es un eco de la solicitud, donde despus se retorna cuando
la bobina ya ha sido escrita.
70


06(0x06) Registro de solo escritura: este cdigo de funcin es usado para
escribir un solo registro soportado en un dispositivo remoto.
La solicitud de la PDU especifica la direccin del registro a ser escrito. Los
registros son direccionados para empezar en cero. Por lo tanto el registro
numerado 1 es direccionado como 0.
La respuesta normal es un eco de la solicitud, donde inmediatamente se retorna el
contenido del registro cuando ya ha sido escrito.

16(0x10) Escritura de mltiples registros: este cdigo de funcin es
usado para escribir un bloque de registros contiguos (1 a 123 registros), en un
dispositivo remoto.
La solicitud de valores escritos es especificada en el dato de solicitud. El dato es
empaquetado como dos Bytes por registros. La respuesta normal retorna el cdigo
de funcin, direccin de inicio y una cantidad de registros escritos en dos Bytes
por registros. La respuesta normal retorna el cdigo de funcin, direccin de inicio,
y una cantidad de registros escritos.

Cdigos de excepcin: Los cdigos de excepcin se producen cuando
hay un error de comunicacin en la respuesta del dispositivo Esclavo, estos
cdigos pueden ser: por error de paridad, por error de CRC, por error de
direccionamiento, etc. En la Tabla 2.7 se muestra los cdigos de error soportados
por el Esclavo Modbus.




71

Tabla 2.8-Cdigos de Error de Ejecucin del Protocolo Modbus en el
Esclavo.
Cdigos de
error
Descripcin
0 Sin error.
1
Error de paridad en la respuesta. Slo es posible si se utiliza
paridad par o impar. La transferencia ha sido perturbada y es
posible que se hayan recibido datos incorrectos. Este error se
debe normalmente a un problema elctrico, p. ej. Un cableado
incorrecto o ruidos elctricos que afectan la comunicacin.
2 No utilizado
3
Timeout de recepcin. No se ha recibido una respuesta del
Esclavo dentro del tiempo indicado en Timeout. Ello puede
deberse a una conexin elctrica defectuosa con el Esclavo, a
que los ajustes del Maestro y del Esclavo son diferentes
(velocidad de transferencia y/o paridad), o bien a una direccin
incorrecta del Esclavo.
4
Error en un parmetro de peticin. Uno o ms parmetros de
entrada (Slave, RW, Addr o Count) se han ajustado a un valor no
vlido. En la documentacin se indican los valores permitidos
para los parmetros de entrada.
5
El Maestro Modbus no est habilitado. MBUS_CTRL se debe
llamar en cada ciclo antes de llamar a MBUS_MSG.
6
Modbus est procesando otra peticin. Slo puede estar activada
una operacin MBUS_MSG a la vez.
7
Error en la respuesta. La respuesta recibida no corresponde a la
peticin. Ello indica que hay un problema en el Esclavo o que un
Esclavo incorrecto ha respondido a la peticin.
8
Error CRC en la respuesta. La transferencia ha sido perturbada y
es posible que se hayan recibido datos incorrectos. Este error se
debe normalmente a un problema elctrico, p. ej. Un cableado
incorrecto o ruidos elctricos que afectan la comunicacin.
101 El Esclavo no soporta la funcin solicitada en esta direccin.
72

102
El Esclavo no soporta la direccin de los datos. El rango de
direcciones solicitado de Addr ms Count est fuera del rango de
direcciones permitido para el Esclavo.
103
El Esclavo no soporta el tipo de datos. El Esclavo no soporta el
parmetro Addr.
105
El Esclavo ha aceptado el mensaje, pero hay un retardo en la
respuesta. Este es un error de MBUS_MSG. El programa de
usuario debera reenviar la peticin ms tarde.
106
El Esclavo ha aceptado el mensaje, pero hay un retardo en la
respuesta. Este es un error de MBUS_MSG. El programa de
usuario debera reenviar la peticin ms tarde. El Esclavo est
ocupado y ha rechazado el mensaje. Intente reenviar la misma
peticin para obtener una respuesta.
107 El Esclavo ha rechazado el mensaje por un motivo desconocido.
108
Error de paridad en la memoria del Esclavo. ste es un error del
Esclavo.
Fuente [9]

2.8.2.2 Capa de Enlace de Datos Modbus

Protocolo principal Maestro/Esclavo Modbus: el protocolo de lnea
serial Modbus es un protocolo Maestro-Esclavo, donde solamente un Maestro al
tiempo es conectado al bus, y una o varios nodos Esclavos (nmero mximo 247)
son conectados al mismo bus serial.
Una comunicacin Modbus es siempre iniciada por el Maestro, donde los nodos
Esclavos nunca trasmiten un dato sin recibir una solicitud desde el nodo Maestro.
En una red, los nodos Maestros nunca se comunicaran entre s, siendo el nodo
Maestro quien inicia una transaccin Modbus al tiempo.
El nodo Maestro enva una solicitud al Esclavo de dos modos:
Modo unicast: el Maestro direcciona a un Esclavo individualmente y despus
de recibir y procesar la solicitud, el Esclavo devuelve un mensaje al Maestro
(una respuesta), en la Figura 2.17 se puede apreciar la comunicacin Unicast.
73

En este modo, la transaccin consiste en dos mensajes: una solicitud desde el
Maestro y una respuesta desde el Esclavo, donde cada Esclavo tendr una
direccin nica (1 a 247), de modo que pueda ser direccionado
independientemente de otros nodos.
Figura 2.16-Modo Unicast.

Fuente [7]
Modo broadcast, el Maestro puede enviar una solicitud a todos los Esclavos,
en la Figura 2.18 se puede ver como se realiza una comunicacin broadcast.
El modo broadcast tiene las siguientes caractersticas:

La solicitud broadcast es escrita necesariamente por comandos.
Ninguna respuesta es retornada a la solicitud broadcast enviada por
el Maestro.
Todos los dispositivos tendrn que aceptar el modo broadcast por
funciones de escritura.
La direccin 0 es reservada para un cambio de broadcast.

74

Figura 2.17-Modo Broadcast.

Fuente [7]
Modos de trasmisin serial: Dos modos diferentes de trasmisin serial
son definidos. El modo RTU y el modo ASCII.
Estos definen el contenido del Bit de la trama de mensajes trasmitida serial mente
en la lnea serial.
Este modos determinan como la informacin es decodificada y empaquetada
dentro de la trama del mensaje. El modo de transmisin tendr que ser el mismo
para todos los dispositivos sobre la lnea serial.
Sin embargo el modo ASCII es requerido en algunas aplicaciones especficas, la
interoperabilidad entre dispositivos Modbus puede ser lograda solamente si cada
dispositivo tiene el mismo modo de comunicacin. El modo de transmisin ASCII
es opcional.
En los dispositivos, el modo de transmisin debe ser establecido por el usuario
(RTU o ASCII), de lo contrario el modo RTU ser establecido por defecto.
75

Modo de transmisin RTU: cuando los dispositivos se comunican sobre
una lnea serial Modbus usando el modo RTU (Remote Terminal Unit), cado 8 Bits
del Byte en un mensaje contiene dos de 4 Bits hexadecimales. La principal ventaja
de este modo es que su carcter de mayor densidad permite un mejor
rendimiento del dato que en el modo ASCII para la misma velocidad de trasmisin.
Cada mensaje tendr que ser trasmitido en un continuo flujo de caracteres.
El formato (11 Bits) para cada Byte en el modo RTU es:
Codificacin del sistema: 8 Bit binarios
Bits por Byte: 1 Bit inicio
8 Bits de dato, el menos significativo Bit es enviado
Primero
1 Bit para la complementacin de paridad
1 Bit de parada
Otros modos (paridad par, impar, sin paridad) tambin pueden ser usados a fin de
asegurar una mxima compatibilidad con otros productos. Observacin: el uso de
no paridad requiere dos Bits de parada.
Como se transmiten los caracteres serial mente: Cada carcter es enviado en el
orden de izquierda a derecha. Esto se puede apreciar en la Tabla 2.8 Del LSB al
MSB
Tabla 2.9-Secuencia de Bit en Modo RTU.
Start 1 2 3 4 5 6 7 8 Paridad Stop

Los dispositivos pueden aceptar la configuracin ya sea par, impar o sin chaqueo
de paridad. Si no se implementa la paridad, un Bit adicional de parada es
76

transmitido para llenar la trama de los caracteres asncronos de 11 Bits (Vase
Tabla 2.9)
Tabla 2.10-Secuencia de Bit en Modo RTU (Sin Paridad).
Start 1 2 3 4 5 6 7 8 Stop Stop

Trama de descripcin (Vase Tabla 2.10)
Tabla 2.11Trama de Mensaje RTU.
Direccin Funcin Datos CRC
1 byte 1 byte 0 hasta 252 bytes
2 bytes
CRC Bajo CRC Alto

El tamao mximo de una trama RTU Modbus es 256 Bytes
Tramado del mensaje RTU: un mensaje Modbus es ubicado dentro de una
trama del dispositivo de transmisin que tiene un punto conocido de inicio y final.
Esto permite al dispositivo que reciba una nueva trama para el inicio del mensaje y
para saber cuando el mensaje es completado. Los mensajes parciales tendrn
que ser detectados y los errores tendrn que ser establecidos como un resultado.
En el modo RTU, las tramas de mensajes son separadas por un intervalo de
tiempo silencioso al menos de 3.5 veces el carcter (Vase Figuras 2.19 y 2.20).
Figura 2.18-Tiempos de la Trama RTU.

77

Figura 2.19-Trama de Mensaje RTU.

Fuente [7]
La trama de mensaje entero tendr que ser trasmitida como un flujo continuo de
caracteres.
Si un intervalo silencioso de ms de 1.5 veces el carcter se produce entre dos
caracteres (Vase Figura 2.21), la trama se declara incompleta y debe ser
descartada por el receptor.
Figura 2.20-Tiempos de Caracter de la Trama RTU.

Fuente [7]
Chequeo del CRC: el modo RTU incluye una trama de comprobacin de errores
que es basada en una comprobacin de redundancia cclica (CRC), mtodo
realizado en el contenido del mensaje.
La trama CRC verifica el contenido de todo el mensaje. Esto se aplica
independientemente de cualquier comprobacin de paridad usada para los
caracteres individuales del mensaje.
78

El campo CRC contiene un valor de 16-Bit implementando como 2 Bytes de 8 Bits.
La trama CRC se adjunta en el ltimo campo mensaje.
Cuando este es hecho, el Byte de orden inferior de la trama es anexado primero,
seguido por el Byte de orden superior, donde el Byte de orden superior del CRC
es el ltimo Byte a ser enviado en el mensaje. El valor del CRC es calculado por el
dispositivo emisor, el cual anexa el CRC al mensaje. El dispositivo receptor vuelve
a calcular un CRC durante la recepcin del mensaje y compara el valor calculado
con el valor actual que este recibi en la trama del CRC. Si los 2 valores no son
iguales, se produce un error.
El clculo del CRC es iniciada por la primera pre-carga de un registro de 16-Bit
para todos los 1. Despus comienza un proceso de aplicacin de Bytes sucesivos
de 8 Bits del mensaje para el contenido actual del registro. Solo los 8 Bits del dato
en cada carcter son usados para generar el CRC. Los Bits de parada, inicio y el
Bit-paridad no son aplicables al CRC. Durante la generacin del CRC cada
carcter de 8-Bit se le aplica una XOR con el contenido del registro. Despus el
resultado es desplazado en la direccin del Bit menos significativo (LSB) con ceros
en la posicin del Bit ms significativo (MSB).
El LSB es extrado y examinado. Si el LSB fue un uno (1), la XOR se lleva a cabo
con un valor predeterminado, fijo. Si el LSB fue un cero (0), la XOR no se lleva a
cabo. Este proceso es repetido hasta que 8 cambios hayan sido relazados.
Despus el ltimo cambio (8), el siguiente Byte de 8-Bit es XOR con un valor
actual del registro, y el proceso se repite durante ms de ocho cambios como se
describi anteriormente. El contenido final del registro, despus de que todos los
Bytes del mensaje han sido aplicados, es el valor del CRC.
Modo de transmisin ASCII: Cuando los dispositivos se configuran para
comunicarse en una red Modbus segn el modo ASCII, cada Byte de 8 Bits en un
mensaje se enva como dos caracteres ASCII. La principal ventaja de este modo
es que permite intervalos de tiempo de hasta un segundo entre caracteres sin dar
79

lugar a error. Es por ello que muchos equipos slo soportan este modo de
comunicacin. Desde el punto de vista del diagnstico, es tambin ms simple, ya
que las tramas se pueden ver directamente. Por el contrario, la gran desventaja es
que las tramas tienen una longitud de aproximadamente el doble que las tramas
RTU, lo cual tiene el efecto neto de reducir la velocidad de comunicacin a la
mitad. El modo ASCII se presta mejor para el desarrollo de drivers de
comunicacin mediante lenguajes de alto nivel. El formato para cada Byte en
modo ASCII es (Vase Tabla 2.11):

Tabla 2.12-Codificacin ASCII.
Inicio Direccin Funcin Datos LRC Fin
1
carcter
2
caracteres
2
caracteres
hasta 2 por 252
caracteres
2
caracteres
2
caracteres
CR LF

Mtodos de Comprobacin de Errores: la seguridad estndar de la lnea serial
es basada en 2 tipos de comprobacin de errores.
Comprobacin de Paridad (par o impar) debe ser aplicado a cada carcter.
Comprobacin de trama (LRC o CRC) tiene ser aplicado a todo el mensaje.
Tanto la comprobacin del carcter y el mensaje son generados en el dispositivo
(Maestro o Esclavo) que emite y aplica al contenido del mensaje antes de la
transmisin. El dispositivo (Esclavo o Maestro) controla cada carcter y el
mensaje entero de la trama durante la recepcin.
El Maestro es configurado por el usuario que espera un intervalo de tiempo
predeterminado (respuesta de tiempo de espera) antes de abortar la transaccin.
Este intervalo se establece por un tiempo para que cualquier Esclavo responda
normalmente (solicitud-unicast).Si el Esclavo detecta un error de transmisin, el
error no ser ejecutado sobre el mensaje y el Esclavo no construir una respuesta
al Maestro. Por lo tanto el tiempo de espera se vencer y permitir que el
programa del Maestro maneje el error.
80

Comprobacin de paridad: los usuarios pueden configurar los dispositivos
para paridad o la comprobacin de paridad impar, o ninguna comprobacin de
paridad. Esto determinara como el Bit de paridad se establecer en cada carcter.
Si cualquier paridad o paridad impar es especificado, la cantidad de 1 Bits sern
contados en la porcin del dato de cada carcter (siete Bits para el modelo ASCII
o ocho para el RTU). El Bit de paridad despus se establecer en 0 o 1 dando
lugar a una paridad o imparidad de un Bit.
La total cantidad de 1 Bit en la trama son cuatro (4). Si la paridad par es usada el
Bit de paridad de la trama es un cero (0), tomando la cantidad de un Bit que sigue
siendo un numero par (cuatro). Si la paridad impar es usada, el Bit-paridad ser un
1, tomando una cantidad par (cinco).
Cuando el mensaje es transmitido, el Bit de paridad es calculado y aplicado a la
trama de cada carcter del dispositivo que recibe los contadores de la cantidad de
1 Bit y fijan un error sino son las mismas para ese dispositivo configurado. (Todos
los dispositivos de la lnea serial Modbus tendr que ser configurado para usar el
mismo mtodo de comprobacin de paridad).
Esa comprobacin de paridad solo puede detectar un error si un nmero impar de
Bits que se recogieron o se redujo un a carcter que contiene tres Bits en 1, el
resultado todava es un recuento impar de un Bits en 1.
Si la paridad de comprobacin no est especificada, el Bit paridad no es
transmitido y la comprobacin de paridad no puede ser hecha, entonces un Bit
adicional de parada es transmitido para llenar la trama del carcter.
Comprobacin de la trama: en el modo RTU, los mensajes incluyen una
comprobacin de error en la trama que es basada en el mtodo CRC. La trama del
CRC comprueba el contenido entero del mensaje. Esto es aplicado
independientemente de un mtodo de comprobacin de paridad usado para los
caracteres individuales del mensaje.
81

2.8.2.3 Capa Fsica Modbus

General: el estndar EIA/TIA-485 tambin conocido como el estndar RS-
485. Este estndar permite sistemas multipunto y punto a punto, en una
configuracin de 2 hilos. Adems, algunos dispositivos pueden implementar una
configuracin de cuatro hilos RS-485.
En un sistema Modbus, un dispositivo Maestro, y uno o varios dispositivos
Esclavos pueden comunicarse en una lnea serial pasivo.
En el sistema estndar Modbus, todos los dispositivos son conectados en un cable
troncal constituido por 3 conductores. Dos de los conductores (la configuracin de
dos-hilos) forman un par trenzado balanceado, en donde los datos bidireccionales
son trasmitidos normalmente en la velocidad de Bit de 9600bps.
Cada dispositivo puede ser conectado (Vase Figura 2.23):
Directamente un cable troncal, formando una cadena tipo margarita.
En una red pasiva TAP con un cable de derivacin.
En una red activa TAP con un cable especifico.

Velocidad del dato: 9600bps y 19.2Kbps son los valores comnmente
usados para la velocidad de comunicacin, 9600 es el valor por defecto requerido.

2.8.2.4 Interfaz Elctrica

RS-232: el RS-232C es un estndar que constituye la tercera revisin de la
antigua norma RS-232, propuesta por la EIA (Asociacin de Industrias
Electrnicas), este estndar se basa en una comunicacin asncrona, es decir que
los datos pueden ser transmitidos en cualquier momento por lo que deben tomarse
82

precauciones para sincronizar la transmisin y recepcin. Este estndar tambin
emplea un puerto serie RS-232C, que consiste en un conector tipo DB25 de 25
pines, aunque es normal encontrar la versin de 9 pines DB9, mas barato e
incluso ms extendido para cierto tipo de perifricos.
Todas las normas RS-232 cumplen con los siguientes niveles de voltaje:
Un 1 lgico es un voltaje comprendido entre 5V y 15V en el transmisor y
entre 3V y 25V en el receptor.
Un 0 lgico es un voltaje comprendido entre +5V y +15V en el transmisor y
entre +3V y +25V en el receptor.
La importancia de conocer esta norma, radica en los niveles de voltaje que maneja
el puerto serial ya que son diferentes a los que manejan los microcontroladores y
los dems circuitos integrados. Por lo tanto se necesita de una interface que haga
posible la conversin de niveles de voltaje a los estndares manejados por el RS-
232C.

RS-485: RS-485 (Estndar EIA-485) es una mejora sobre RS-422 ya que
incrementa el nmero de dispositivos que se pueden conectar (de 10 a 32) y
define las caractersticas necesarias para asegurar los valores adecuados de
voltaje cuando se tiene la carga mxima. Gracias a esta capacidad, es posible
crear redes de dispositivos conectados a un solo puerto RS-485. Esta capacidad,
y la gran inmunidad al ruido, hacen que este tipo de transmisin serial sea la
eleccin de muchas aplicaciones industriales que necesitan dispositivos
distribuidos en red conectados a una PC u otro controlador para la coleccin de
datos, HMI, u otras operaciones. RS-485 es un conjunto que cubre RS-422, por lo
que todos los dispositivos que se comunican usando RS-422 pueden ser
controlados por RS-485. El hardware de RS-485 se puede utilizar en
comunicaciones seriales de distancias de hasta 4000 pies de cable.
83

La interfaz RS-485 ha sido desarrollada para la transmisin en serie de datos de
alta velocidad a grandes distancias. Est concebida como sistema Bus
bidireccional con hasta 32 participantes. La norma RS-485 define solamente las
especificaciones elctricas para receptores y transmisores en un sistema de bus
digital, pero no define o recomienda ningn protocolo de datos. Fsicamente puede
instalarse tanto como un sistema de 2 hilos o de 4 hilos.
Dado que varios transmisores trabajan en una lnea comn, tiene que garantizarse
con un protocolo que en todo momento est activo, como mximo, un transmisor
de datos. Los otros transmisores tienen que encontrarse en ese momento en
estado de alta impedancia.

RS-485 de 2 hilos: el Bus RS-485 de 2 hilos se compone segn la Figura 2.23
de un cable propio del bus con una longitud mxima de 500mts. Los participantes
se conectan a este cable a travs de una lnea adaptadora de longitud mxima de
5 metros. La ventaja de la tcnica de 2 hilos reside esencialmente en la capacidad
multimaestro, en donde cualquier participante puede cambiar datos en principio
con cualquier otro. El Bus de 2 hilos es bsicamente apto slo para
comunicaciones Halfduplex.
Puesto que slo hay a disposicin una va de transmisin, siempre puede enviar
datos un solo participante. Despus de finalizar el envo, pueden responder otros
participantes.








84

Figura 2.21-Topologia General de 2 Hilos.

Fuente [7]
RS-485 de 4 hilos: la tcnica de 4 hilos slo puede ser usada por
aplicaciones Maestro/Esclavo. Segn la Figura 2.24 se cablea la salida de datos
del Maestro a las entradas de datos de todos los Esclavos.
El Bus de 4 hilos es apto para comunicaciones FullDuplex, ya que cada direccin,
recepcin y transmisin, tiene su propia ruta.
Figura 2.22-Topologia General de 4 Hilos.

Fuente [7]

85

3 DISEO E IMPLEMENTACIN DEL MDULO

En el presente capitulo se muestra el diseo de la tarjeta de adquisicin de datos
(DAQ) resultante, con sus respectivas caractersticas hasta su proceso de
instalacin. La Adquisicin de Datos consiste en tomar un conjunto de variables
fsicas analgicas y digitales para convertirlas en tensiones elctricas y
digitalizarlas de forma que se puedan procesar en el PLC, permitiendo su
monitoreo dentro del proceso. El hardware utilizado es bsicamente una tarjeta de
adquisicin de datos utilizada como dispositivo Esclavo, el diseo tiene entradas
digitales, entradas analgicas, interfaz de usuario y comunicacin serial por el
puerto RS485 con configuracin de par trenzado bajo el protocolo de
comunicacin Modbus. Teniendo en cuenta esto se muestra el esquema de diseo
del prototipo en la Figura 3.1.
Figura 3.1-Esquema de Diseo.




86

3.1 DISPOSITIVO MAESTRO

En el punto 2.8.1 del captulo 2 se describieron los requerimientos generales del
protocolo Modbus de un dispositivo Maestro/Esclavo, donde el dispositivo Maestro
es el encargado de ejecutar las acciones de solicitud hacia el dispositivo Esclavo.
Un dispositivo Maestro puede ser un PC, un PLC, u otro dispositivo que solicite
alguna peticin al dispositivo Esclavo a travs de un puerto de comunicaciones
serial usando el protocolo Modbus.
Para este proyecto se utiliz como dispositivo Maestro es PLC S7-200 Siemens
(Vase Anexo F), que se encuentra en las instalaciones del laboratorio de
Automtica de la Universidad San Buenaventura Cali. Este PLC trae incluido el
hardware de comunicacin serial RS485 indispensable para la transmisin
Modbus. Las libreras y rutinas de interrupciones pre-configuradas y diseadas
especialmente para la comunicacin Modbus se instalan desde el STEP 7-
Micro/WIN (Software de aplicacin del PLC). Las operaciones del protocolo
Modbus permiten configurar el S7-200 para que acte como Maestro o Esclavo.
Las operaciones de Maestros Modbus en el PLC S7-200 actan en modo RTU y
se comunican con uno o varios Esclavos Modbus a travs del puerto de
comunicacin de la CPU especfico para dicho protocolo; en este caso es la CPU
222 con puerto de comunicacin RS-485.
Los parmetros bsicos para configurar un dispositivo Maestro son:
Puerto serial
Velocidad de comunicacin
Bit de paridad
Bit de parada
Modo RTU o ASCII
Tiempo de espera de respuesta
87

El PLC S7-200 incorpora una librera de operaciones que facilita la comunicacin
con los equipos Modbus. Esta librera Incorpora funciones Modbus de lectura-
escritura del dispositivo Maestro en un rango de direccin especfica (Vase
tercera columna de la Tabla 3.1). El Esclavo debe soportar las funciones indicadas
en la Tabla 3.1.

Tabla 3.1-Tipo de Modelo del Dato
Direccin Modbus
Leer o
Escribir
Funcin de Esclavo requeridas
por el Maestro
00001 a 09999 salidas
digitales
Leer Funcin 1
Escribir
Funcin 5 para una sola salida
Funcin 15 para varias salidas
10001 a 19999 entradas
digitales
Leer Funcin 2
Escribir Imposible
30001 a 39999 registros de
entrada
Leer Funcin 4
Escribir Imposible
40001 a 49999 registros de
retencin
Leer Funcin 3
Escribir
Funcin 6 para un solo registro
Funcin 16 para varios registros
Fuente [9]

3.1.1 Cable de Red

Los PLC S7-200 de Siemens integran mdulos de comunicacin como interface
Industrial-Modbus, Ethernet, entre otros.
Estos mdulos se incorporan dentro de la CPU 222 del S7-200 que viene con un
puerto de comunicacin serial RS-485 con un cable de red par trenzado con las
caractersticas tcnicas de la Tabla 3.2.



88

Tabla 3.2-Datos Tcnicos Generales de un Cable de Red.
Datos tcnicos Descripcin
Tipo de cable Apantallado, con par trenzado
Resistencia de bucle 115 /km
Capacidad efectiva 30 pF/m
Impedancia nominal
Aprox 135 a 160 (frecuencia =3 MHz a 20
MHz)
Atenuacin 0,9 dB/100 m (frecuencia=200 KHz)
Seccin del alma del
cable 0,3 mm2 a 0,5 mm2
Dimetro del cable 8 mm0,5 mm
Fuente [9]
Los puertos de comunicacin de las CPUs S7-200 son compatibles con el
estndar RS-485 va un conector DB9 conforme al estndar RS-485. La Tabla 3.3
muestra el conector que ofrece el enlace fsico para el puerto de comunicacin,
indicndose tambin las asignaciones de pines de los puertos de comunicacin.

Tabla 3.3-Asignacin de Pines del Puerto de Comunicacin del S7-200
Enchufe N de pin Puerto RS-485
1 Tierra
2 Hilo lgico
3 Seal B RS-485
4 RTS (TTL)
5 Hilo lgico
6 5 V,100 resistor en serie
7 24 V
8 Seal A RS-485
9
Seleccin protocolo de 10 Bits
(entrada)
Carcasa del enchufe Tierra
Fuente [9]


89

3.2 MDULO ESCLAVO

Para llevar a cabo la comunicacin Modbus en una red, es necesario la presencia
de al menos de un Maestro Modbus. Un Esclavo Modbus puede ser un PLC, un
variador de velocidad, un transmisor, un HMI o cualquier mdulo que pueda
comportarse como un Esclavo Modbus cumpliendo con los siguientes
parmetros:
Direccin del Esclavo
Puerto serial a utilizar
Velocidad de comunicacin
Bit de paridad
Bit de parada
Modo RTU o ASCII

El dispositivo Esclavo tiene que mantener un estado de recepcin (en espera)
para poder aceptar los mensajes que son enviados por el Maestro. Una vez que el
Esclavo recibe la trama completa Modbus, analiza y procesa la peticin enviando
una respuesta al Maestro. La recepcin y la transmisin de una trama Modbus
debe cumplir las con las normas del protocolo.

3.2.1 Requerimientos Especficos del Mdulo Esclavo

3.2.1.1 Requerimientos del Hardware

Aunque el prototipo diseado pretende ser una herramienta con fines didcticos,
los elementos y dispositivos son los mismos usados en la industria. Por esta razn
90

fue necesario determinar un hardware que se ajuste a los estndares de
dispositivos industriales.
Los microcontroladores son dispositivos diseados para diversas aplicaciones,
tales como para control y procesamiento de datos. Para el desarrollo de la tarjeta
de adquisicin de datos el microcontrolador es el encargado de la adquisicin de
los datos y cumple con los requerimientos del protocolo Modbus mencionados,
adems de esto, permite definir espacios de memoria que son de uso exclusivo
del protocolo y la adquisicin de datos como: puertos de entrada de las seales
Anlogas-Digitales y registros para la recepcin y transmisin de datos.
Teniendo en cuenta lo anterior el hardware se compone de 5 ncleos principales
que son:
Unidad de conexin de las entradas digitales.
Unidad de conexin de las entradas anlogas.
Puerto de comunicacin serial.
Unidad de control y procesamiento de datos.
Interfaz de usuario (teclado y LCD).

3.2.2 Diseo del Mdulo Esclavo

De acuerdo a los requerimientos del hardware mencionados anteriormente y las
necesidades del laboratorio el mdulo debe contar con los siguientes
componentes:
8 Entradas digitales 24 .
2 Entradas anlogas 4-20mA.
Puerto de Comunicacin serial RS-485.
Interfaz de Usuario
91

Las caractersticas seleccionadas para el mdulo Esclavo son las que utilizan la
mayora de dispositivos de la industria, tales como trasmisores, vlvulas y
sensores.

3.2.2.1 Entradas Digitales

El estado de las entradas digitales debe ser detectado con la ausencia/presencia
de 24 en los respectivos conectores. Para que estas seales digitales puedan
ser trasmitidas al microcontrolador, debe reducirse el voltaje a niveles TTL. En la
actualidad existen diversos circuitos integrados que brinda estas caractersticas,
entre ellos estn los Rels y los Opto acopladores. Estos ltimos tienen una gran
ventaja ya que cuentan con un aislamiento galvnico que se crea entre el circuito
de entrada y de salida del opto acoplador.
Fundamentalmente los opto acopladores son dispositivos que estn formados por
una fuente emisora de luz (circuito de entrada), y un foto-sensor de silicio (circuito
de salida), al no haber contacto elctrico produce un aislamiento superior a los
10M, brindando as una alta proteccin al microcontrolador.
Acorde a esto se utiliz el opto acoplador 4N35, el cual tiene un LED emisor que
necesita una corriente de entrada if = 20mA (Vase Anexo E) para emitir luz.
Debido a que la entrada del LED es 24 cuando el estado de la entrada es un 1
lgico y para que su funcionamiento sea ptimo se calcul la resistencia para
limitar la corriente del LED. Por lo tanto:
Ec. 12
Ec. 13
Ec. 14
92

Ec. 15
Teniendo en cuenta que 1.165K no es un valor comercial lo aproximamos a
1.2K. Es importante tener en cuenta que la salida del circuito opto acoplador es
un inversor y se debe corregir por software para saber el estado real de la entrada.
En la Figura 3.2 se aprecia el circuito implementado con optoacopladores.
Figura 3.2 Circuito de las Entradas Digitales con Optoacopladores.


3.2.2.2 Entradas Anlogas

En la Figura 3.3 se observa que las entradas anlogas reciben una seal de 4-
20mA la cual se convierte en voltaje para el conversor Anlogo-Digital(A/D), esto
se logra conectando a una resistencia en paralelo a la seal de entrada para
obtener un voltaje variable 1-5V, donde un 1V es el valor mnimo (4mA) y 5V el
valor mximo (20mA).
Teniendo en cuenta esto, la resolucin del conversor Anlogo-Digital se calcula
mediante la frmula:
Ec. 16
93

Donde y son los limites superior e inferior respectivamente de los
voltajes que van a ser convertidos y es el nmero de Bits del conversor A/D.
Por lo tanto:
Ec. 17
Ec. 18
Lo que indica que por cada que aumente en la entrada del conversor este
aumentara una unidad en su salida.
Adems se implemento un amplificador operacional como seguidor de voltaje para
obtener una baja impedancia a la salida que permita tener lecturas correctas hacia
el microcontrolador, ya que se recomienda tener una impedancia mxima de
entrada de 10K
6
.
El operacional que se utilizo fue el LM324 debido a que tiene un bajo consumo de
energa (esto aparece en el Anexo D como 'power drain'), se usa como aplicacin
para fuentes sencillas de alimentacin y puede trabajar con voltajes desde 3V
hasta 32V. Como este operacional posee perdidas, el voltaje de alimentacin tiene
que ser mayor que 5V. Por cuestiones de diseo el voltaje de alimentacin que se
tomo fue de 9V y aparte se coloca una resistencia de un 1K a la salida del
operacional para limitar la corriente que llega al microcontrolador en caso de que
haya un sobre voltaje.





6
Esta parte fue tomada del Anexo B Datos Tcnicos del Microcontrolador PIC16F877A

94



Figura 3.3-Circuito de las Entradas Analogas

Teniendo en cuenta el rango de la seal de corriente de 4-20mA y el rango de
voltaje de 1-5V del circuito operacional, entonces:
Ley de ohm:
Ec. 19
Ec. 20
Ec. 21
Ec. 22
Ec. 23
Donde es el valor de resistencia para la conversin de corriente a
voltaje que se usa en las 2 entradas anlogas del dispositivo.
3.2.2.3 Puerto de Comunicacin RS-485

95

Para integrar este puerto de comunicacin al mdulo Esclavo se utiliz el
integrado MAX485 (Vase Anexo C), el cual se encarga de regular los niveles de
voltaje TTL del microcontrolador y los del estndar RS-485. Este integrado maneja
una seal de control para la recepcin y transmisin de datos. En la Tabla 3.4 se
indican los posibles estados que puede tener el integrado MAX485 segn las
seales de control manejadas desde el microcontrolador.

Tabla 3.4 Estados de Control del Integrado MAX485.
Seal de Control Estado
0 Habilita la Recepcin
1 Habilita la Transmisin

En la Figura 3.4 se muestra la conexin del circuito.

Figura 3.4-Puerto de Comunicacin RS-485


96

El conector implementado en el mdulo para este puerto de comunicaciones es un
DB9 macho, el cual es compatible con el puerto serial RS-485 del PLC S7-200.
(Vase Figura 3.5).
Figura 3.5-Conector Macho DB-9


3.2.2.4 Interfaz de Usuario

Se implemento un Display de cristal lquido LCD de 16x2 como interfaz visual para
el mdulo Esclavo para observar algunos parmetros a configurar del protocolo
como la direccin del dispositivo Esclavo, la velocidad de transmisin y tambin
para visualizar los datos Anlogos-Digitales localmente de la DAQ sin necesidad
de tener comunicacin con el PLC (Vase Figura 3.6).
Para poder modificar digitalmente dichos parmetros del protocolo y seleccionar la
visualizacin de los datos Anlogos-Digitales, se implementaron 3 pulsadores que
manejaban la configuracin de estos. Estos pulsadores junto al LCD corresponden
a la interfaz de usuario.





97



Figura 3.6-Circuito Interfaz de Usuario


Interfaz pulsadores: Se diseo un teclado con 3 pulsadores conectados a
3 pines del puerto C del microcontrolador de la siguiente manera: un extremo del
pulsador est conectado en serie a la entrada del PIC y a una resistencia de 10K
est conectada a VCC. El otro extremo del pulsador va conectado a tierra y a un
condensador de 1nF que a su vez est conectado a la entrada del PIC (Vase
Figura 3.6).
El objetivo de este circuito es eliminar el rebote y filtrar el ruido ocasionado en el
momento de presionar el pulsador.
Cada pulsador usa lgica negativa, al presionarlo pone un 0 lgico a la entrada del
microcontrolador y cuando no pone un 1 lgico.

98

Mdulo LCD: la conexin del display de cristal lquido es directa con el
microcontrolador y no necesita significativas adecuaciones fsicas, ya que este
consta de su propio controlador, espacio de memoria y su manejo se hace por
software lo cual hace ms sencilla su implementacin.
Debido que el mdulo LCD es un circuito integrado hay que garantizar que tenga
conectados la alimentacin, la tierra y el contraste para su correcto
funcionamiento. El contraste LCD se maneja mediante la variacin de un Trimmer
conectado al pin de VEE del LCD, en la Figura 3.6 se muestra la conexin
implementada.

3.2.2.5 Unidad de Procesamiento y Control

De acuerdo a los requerimientos tcnicos del hardware mencionados en la seccin
3.2.1.1 se escogi el microcontrolador PIC16F877A como el dispositivo
programable aplicado a la adquisicin de datos, implementacin del protocolo
Modbus y monitoreo de las entradas (digitales-anlogas) porque posee varias
caractersticas (Vase Anexo B) que hacen a este microcontrolador un dispositivo
muy verstil, eficiente y prctico para utilizarse en estas aplicaciones.
Algunas de las caractersticas importantes de este microcontrolador, son:
Puerto de comunicacin serial (USART).
Bajo consumo 2mA para 5V.
CPU tipo RISC (conjunto de instrucciones reducidas).
Puertos de entrada/salida.
Un conversor anlogo/digital de 10-Bit.
Memoria de programa de 8Kx14 Bits.
Capacidad de Almacenamiento en su memoria EEPROM.
99

El esquema bsico diseado y la asignacin de pines al microcontrolador que
corresponde a la especificacin de la DAQ se muestran en la Figura 3.7 y la Tabla
3.5.
Tabla 3.5-Asignacin de Pines
# Pin Nombre Funcin
1
MCLR RESET
2
RA0 ENTRADA ANLOGA 0
3
RA1 ENTRADA ANLOGA 1
4
RA2 VREF+= 5V
5
RA3 VREF-= 1V
6
RA4
7
RA5
8
RE0
9
RE1 CONTROL MAX485 DE/RE
10
RE2
11
Vdd 5 VDC
12
Vss GND
13
OSC1/CLK CRISTAL
14
OSC1/CLK CRISTAL
15
RC0 BOTN UP
16
RC1 BOTN DOWN
17
RC2/CCP1 BOTN OK
18
RC3/SCK
19
RD0/PSP0 CONTROL LCD E
20
RD1/PSP1 CONTROL LCD RS
21
RD2/PSP2 CONTROL LCD RW
22
RD3/PSP3
23
RC4/SD1
24
RC5/SD0
25
RC6/Tx RO MAX485
100

26
RC7/RX DI MAX485
27
RD4/PSP4 DATOS LCD D4
28
RD5/PSP5 DATOS LCD D5
29
RD6/PSP6 DATOS LCD D6
30
RD7/PSP7 DATOS LCD D7
31
Vss 5 VDC
32
Vdd GND
33
RBO/INT ENTRADA DIGITAL 1
34
RB1 ENTRADA DIGITAL 2
35
RB2 ENTRADA DIGITAL 3
36
RB3 ENTRADA DIGITAL 4
37
RB4 ENTRADA DIGITAL 5
38
RB5 ENTRADA DIGITAL 6
39
RB6/PGC ENTRADA DIGITAL 7
40
RB7/PGD ENTRADA DIGITAL 8










101

Figura 3.7-Circuito Esquemtico General de la DAQ.

102

3.2.2.6 Fuente de Alimentacin
Dado que se requiere un diseo ms ptimo y sencillo del dispositivo se opto por
usar un adaptador de voltaje comercial, para no disear una fuente interna en el
dispositivo lo cual lo hace ms grande.
El adaptador de voltaje tiene las siguientes caractersticas:
Voltaje de entrada: 100-240 ~50/60Hz
Voltaje de salida: 9
Corriente de salida: Max. 600mA
El dispositivo Esclavo tiene un consumo de corriente de 50mA y visto ya las
caractersticas del adaptador se afirma que tiene la suficiente potencia para
alimentar el dispositivo Esclavo.

3.2.3 Evaluacin de costos
Conociendo el hardware y teniendo en cuenta que el prototipo esclavo fue
pensado como una alternativa econmica, se realizo un estimativo en dinero de lo
que puede llagar a costar la produccin o replica de este dispositivo en su
implementacin final, en la Tabla 3.6 se observa los costos en dinero del equipo.
Tabla 3.6 Costos de Implementacin
Cantidad Descripcion Costo Unitario Costo total
1 Microcontrolador PIC 16F877A $18.000 $18.000
1 Base de 40 pines $ 200 $200
8 Opto acopladores 4N35 $ 700 $5.600
8 Resistencias de 1.2K $ 50 $400
8 Resistencias de 1K $ 40 $320
8 Bases de 6 pines $ 200 $1.600
9 Borneras de Montaje $ 400 $3.600
9 Borneras de Caja $ 300 $2.700
1 Circuito integrado LM324 $ 1.500 $1.500
2 Resistencias de 250 ohm $ 50 $100
103

2 Resistencias de 1000 ohm $ 50 $100
1 Base de 14 pines $ 200 $200
3 Borneras de Montaje $ 400 $1.200
3 Borneras de Caja $ 300 $900
1 Modulo LCD 16x2 $21.000 $21.000
2 Trimmer 10k $ 500 $1.000
3 Pulsadores N.A $500 $1.500
3 Capacitores de 1nF $ 20 $60
3 Resistencias de 10M $50 $150
13 Borneras de Montaje $ 400 $5.200
1 Puerto hembra DB9 $ 500 $500
1 Cable serial RS-485 $3.000 $3.000
2 Capacitores de 1uF $ 25 $50
1 Cristal de 4Mhz $500 $500
1 Circuito Integrado MAX -485 $ 6.000 $6.000
1 Base de 8 pines $200 $200
2 Borneras de Montaje RS-485 $ 500 $1.000
1 Regulador de Voltaje de 5v $ 1.000 $1.000
2 Bornera de Montaje $ 500 $1.000
1 Bornera de Caja $ 300 $300
1 Caja $ 30.000 $30.000
1 Circuito Impreso $ 20.000 $20.000
1 Adaptador 9V $ 16.000 $16.000

TOTAL $144.880

Con la anterior informacin mostrada se demuestra que la implementacin de este
proyecto es ms econmica que la adquisicin de un equipo similar en el
mercado, cabe anotar que en estos costos no est tomado en cuenta los valores
asociados con la parte de diseo (mano de obra) ya que este es un proyecto tipo
acadmico, que inicialmente no fue pensado para la comercializacin.



104


4 DISEO E IMPLEMENTACIN DEL SOFTWARE DEL MDULO

El diseo del software del microcontrolador fue realizado sobre la herramienta de
programacin PIC C Compiler de la firma CCS (Custom Computer Services) de
acuerdo a los requerimientos tcnicos exigidos por la implementacin del
hardware para el Sistema de Adquisicin y Procesamiento de Datos (Anlogos-
digitales). El PIC C Compiler permite que la implementacin del Software de este
proyecto sea desarrollada bajo el lenguaje de programacin C; haciendo la
programacin muy flexible y manejando una estructura sencilla y apropiada para
esta aplicacin.
El software se dise de modo que el mdulo Esclavo pueda comunicarse con el
PLC de acuerdo a las caractersticas del protocolo Modbus a travs del puerto
serie RS-485. Para la implementacin del software se definen algunos parmetros
necesarios para la comunicacin Modbus entre dispositivos Maestro-Esclavo tal
como muestran en la Tabla 4.1. El mdulo desarrollado funciona como dispositivo
Esclavo y el PLC Siemens S7-200 como Maestro.
Tabla 4.1-Parmetros de la DAQ
Interfaz de comunicacin
Modbus-RS-485
Direccin de Esclavo
1-8
Modo de transmisin
Halfduplex-RTU
Velocidad
1200/2400/4800/9600/19200
Paridad
Ninguna
Nmero de entradas digitales
8
Nmero de entradas anlogas
2


105


4.1 REQUERIMIENTOS DEL SOFTWARE

El mdulo de adquisicin de datos Anlogo-Digital funciona como dispositivo
Esclavo y se comunica mediante protocolo Modbus con el PLC, para esta tarjeta
de adquisicin se dise un Software que cumpla con tres requerimientos bsicos:
1. Adquisicin de datos:
Adquisicin de las seales anlogas y procesamiento de datos.
Adquisicin de las seales digitales y procesamiento de datos.
2. Comunicacin serial bajo el protocolo de Comunicacin Modbus.

3. Interfaz usuario para el mdulo Esclavo.
Manejo y comunicacin con el LCD.
Lectura de pulsadores y procesamiento de datos.

4.2 DESARROLLO DEL SOFTWARE DEL MICROCONTROLADOR

El Software en el microcontrolador del mdulo Esclavo se implement para
ejecutar simultneamente tareas especficas que estn dentro del programa
principal, estas tareas se encargan de ejecutar las funciones planteadas en los
requerimientos del Software que son necesarias en la aplicacin de este proyecto.
De acuerdo a que la comunicacin serial Modbus se maneja por interrupciones, el
programa siempre tiene prioridad sobre el sistema de comunicacin serial en el
dispositivo Esclavo, por esta razn se dise un programa que pueda ejecutar la
comunicacin Modbus y las dems funciones del dispositivo Esclavo
concurrentemente.
106


4.3 ESTRUCTURA DEL PROGRAMA PRINCIPAL

El diseo del software se compone de una estructura principal la cual contiene 6
rutinas. Cada una de estas rutinas realiza una tarea diferente que se ejecuta de
acuerdo a los requerimientos de Software mencionados del mdulo Esclavo
(Vase Figura 4.1).
Inicialmente tenemos la rutina de inicializacin en la cual se lleva a cabo la
inicializacin de variables, espacio de memoria y configuracin de las libreras;
esta rutina solo se ejecuta una vez en el programa principal.
Despus sigue la rutina Configuracin del Mdulo Esclavo que usa la informacin
que se suministra a travs de la interfaz de usuario con los pulsadores y configura
los parmetros del dispositivo Esclavo. A partir de aqu se inicia un ciclo infinito en
el programa principal.
Seguidamente est la rutina Interfaz de Pulsadores la cual tiene la funcin de
recibir, procesar, ejecutar la informacin de interfaz de usuario a travs del teclado
(pulsadores).
A continuacin est la rutina de adquisicin de datos la cual sirve para leer los
datos de entrada Anlogos-Digitales del sistema, cuyos datos son adecuados en
un formato real y didctico para que cuando exista una solicitud estn listos para
ser enviados.
La interfaz LCD es la de visualizacin de las pantallas en el LCD para que el
usuario pueda configurar el dispositivo y monitorear los datos localmente.
Por ltimo se consulta el registro de recepcin serial, si no hay ninguna
interrupcin serial el programa principal salta hasta la rutina Configuracin mdulo
Esclavo y continua por las dems rutinas siguientes hasta volver a consultar el
107

registro de recepcin serial quedndose en un ciclo infinito hasta que ocurra la
interrupcin serial, en caso que la interrupcin ocurra se ejecuta la rutina Modbus
en la cual se recibe la solicitud modbus, se procesa y se enva una respuesta de
acuerdo a la solicitud, una vez la rutina se haya ejecutado el programa principal
regresa a la rutina Configuracin del mdulo Esclavo creando otro ciclo de
programa infinito.

Figura 4.1-Diagrama de Flujo Rutina General.


4.3.1 Inicializaciones

108

Esta rutina solo se ejecuta cada vez que se energiza el mdulo, en esta misma
se lleva a cabo tareas tales como configurar puertos de Entradas-Salidas,
configuracin del puerto serial (velocidad, modo de comunicacin), configuracin
de contadores, interrupciones y espacios de memoria (Vase Figura 4.2).

Figura 4.2-Diagrama de Flujo Rutina Inicializaciones


Configuracin de espacios de memoria y registros
109

En esta subrutina se lleva a cabo la configuracin e inicializacin de los
registros y espacios de memorias los cuales son usados en las rutinas del
programa principal en la Tabla 4.2 se encuentra las variables utilizadas
Tabla 4.2-Variables de Programa
Variable Funcin
input_regs[2] Variable tipo chart en la cual se almacena el valor
de las 2 seales anlogas una vez se haya hecho
la adecuacin, para despus ser utilizada en la
solicitud Modbus.
inputs Variable tipo int8 la cual almacena el estado real
de las 8 entadas digitales una vez se le haya
hecho la adecuacin, para despus ser utilizada en
la solicitud Modbus.
Menu Variable indica en que men se encuentra la
interfaz de usuario
Opcin Variable indica que opcin se apunta con el cursor
en cualquier men que se encuentre en la interfaz
de usuario
OpcinActivada Variable que indica cuando una opcin es
seleccionada para ser modificada
MODBUS_ADDRESS Parmetro que se le ingresa a la librera modbus
para determinar la direccin del esclavo
MODBUS_SERIAL_BAUD Parmetro que se le ingresa a la librera modbus
para determinar la velocidad del esclavo
Direccin Esclavo Variable que se modifica para configurar la
direccin del esclavo mediante la interfaz de
usuario, el rango es de 1-8
Velocidad Esclavo[4] Variable tipo chart que se modifica para configurar
la velocidad de transmisin del Esclavo mediante
la interfaz de usuario, los valores de velocidad son
[1200-2400-4800-9600-19200bps]


110



Inicializacin librera Modbus
Rutina que permite la inicializacin y configuracin de la librera Modbus
(Modbus.C)
7
, aqu se definen algunos parmetros para el funcionamiento de
esta librera dentro del software del mdulo Esclavo:
Modo de trasmisin RTU.
Tipo de Modbus Esclavo.
Tamao del bfer 64 Bytes.
Pin de control E1, pin transmisin C6 y pin de recepcin C7.
Interrupcin serial externa.
Para la asignacin de estos parmetros es importante leer la documentacin
incluida para la librera Modbus.C.

Inicializacin librera LCD
En esta se lleva a cabo la inicializacin y configuracin de la librera para el
manejo del LCD (LCD.C)
8
, donde se define un parmetro para el
funcionamiento esta librera:
Puerto D para el envi de los datos y control del LCD

Inicializacin ADC puertos y reloj
En esta subrutina se configuran los pines A1 y A2 para las entradas anlogas,
los pines A3 y A4 se definen para la referencia positiva y negativa

7
Esta es la librera usada para el manejo del protocolo Modbus y viene incluida en el compilador (PIC C
Compiler).
8
Esta es la librera usada para el manejo del LCD y viene incluida en el compilador (PIC C Compiler).
111

respectivamente, adicionalmente se configura el reloj para la conversin de los
datos anlogos. (Vase Tabla 3.5)
Inicializacin de puertos de entrada.
Rutina para la configuracin de puertos, se asigna el puerto B como entrada
para las 8 entradas digitales y se definen los pines C0, C1 y C2 como entradas
a la interfaz del teclado. (Vase Tabla 3.5)

4.3.2 Configuracin Mdulo Esclavo

En esta rutina se modifican parmetros del programa segn la informacin
suministrada mediante la interfaz de usuario, se configura dos parmetros: La
direccin del Esclavo y la velocidad de transmisin. (Vase Figuera 4.3)
Figura 4.3-Diagrama de Flujo Rutina Configuracin del Modulo Esclavo
112


4.3.3 Interfaz Pantalla LCD

En esta rutina se lleva a cabo la impresin de diferentes pantallas o mens en
el LCD. Para determinar que pantalla debe ser impresa se consulta el estado
de tres variables Men, Opcin y OpcionActivada (Vase Figura 4.4), el estado
de estas variables es modificado en la interfaz de pulsadores.





113












Figura 4.4Diagrama de Flujo Rutina Interfaz LCD
114


115

4.3.4 Interfaz Pulsadores

La rutina de interfaz de pulsadores es la que ejecuta las funciones de la interfaz de
usuario cuando un pulsador es presionado (Vase Figura 4.5), estas funciones se
hacen mediante tres subrutinas las cuales son:
Funcin Up
Funcin Down
Funcin Ok

Figura 4.5-Diagrama de Flujo Rutina Interfaz Pulsadores
116


4.3.4.1 Funcin Up

Esta subrutina sirve para desplazar la flecha de seleccin entra las opciones que
hay en cada men que se visualiza en el LCD, adems permite modificar los
parmetros de configuracin del Esclavo ascendentemente, esto se hace
mediante la consulta y modificacin del estado de tres variables cada vez que se
llama la subrutina Funcin Up: Men, Opcin y OpcionActivada. Dependiendo del
estado estas se ejecuta una accin o se modifica el estado de una o varias de
estas variables (Vase Figura 4.6)
117































Figura 4.6-Diagrama de Flujo Subrutina Funcin Up
118


119

4.3.4.2 Funcin Down

Esta subrutina sirve para desplazar la flecha de seleccin entra las opciones que
hay en cada men que se visualiza en el LCD, adems permite modificar los
parmetros de configuracin del Esclavo descendentemente, esto se hace
mediante la consulta y modificacin del estado de tres variables cada vez que se
llama la subrutina Funcin Down: Men, Opcin y OpcionActivada. Dependiendo
del estado estas se ejecuta una accin o se modifica el estado de una o varias de
estas variables (Vase Figura 4.7).


















120

Figura 4.7-Diagrama de Flujo Subrutina Funcin Down

121

4.3.4.3 Funcin Ok

Esta subrutina sirve para ingresar a un men en especifico, para entrar y salir de
una opcin a modificar (parmetros de configuracin) y retroceder a un men
anterior. Esto se hace mediante la consulta y modificacin del estado de tres
variables cada vez que se llama la subrutina Funcin Ok: Men, Opcin y
OpcionActivada. Dependiendo el estado de las variables se ejecuta una accin o
se modifica el estado de una o varias de estas variables (Vase Figura 4.8).














122

Figura 4.8-Diagrama de Flujo Subrutina Funcin Ok

123

4.3.5 Adquisicin de Datos

En este bloque se llevan a cabo las tareas de adquirir los datos de entrada
provenientes de la planta o del sistema que se requiere monitorear y se
almacenan en variables para ser usados en una solicitud Modbus. (Vase Figura
4.9).
Figura 4.9-Diagrama de Flujo Rutina Adquisicin de Datos.

124

Entradas digitales
Se hace una Lectura de todo el puerto B donde se encuentran las 8 entradas
digitales, luego se Almacenan los datos en una variable.
Adecuacin de entradas digitales
En la seccin 3.2.2.4 se mencion que las entradas digitales son negadas,
para mantener el nivel original se hizo una adecuacin por software la cual
consiste en hacer una XOR entre la variable que almacena los datos digitales y
el numero FFh para as negar las entradas y mostrar su valor real.
Anloga 1
Se selecciona el canal uno del conversor anlogo, se lee el dato de ese canal y
se almacena en una variable.
Adecuacin de entradas anloga 1
Por motivos didcticos se decidi que las entradas anlogas fueran escaladas
en porcentajes 0-100%, se hizo una adecuacin por software la cual consiste
en calcular el valor de la pendiente entre el valor real de la codificacin y el
valor de escalamiento (Vase la Ec.24). Luego de calcular este valor se
multiplica por el dato anlogo almacenado en la variable para hacer el
escalamiento en porcentaje.
La pendiente es definida como:
Ec. 24
Ec. 25
Ec. 26
Ec. 27
Ec. 28
125

Anloga 2
Se selecciona el canal dos del conversor anlogo, se lee el dato de ese canal y
se almacena el dato en una variable.
Adecuacin de entradas anloga 2
La adecuacin presentada para la anloga 1 tambin aplica para la anloga 2.

4.3.6 Modbus

Cada vez que haya una interrupcin serial se ejecuta esta rutina que es la
encargada de armar la trama con los datos recibidos serialmente y analizar su
validez, adems responde a la solicitud requerida y prepara los datos para
construir una trama de respuesta que es enviada al Maestro Modbus. (Vase
Figura 4.10)










126

Figura 4.10-Diagrama de Flujo Rutina Modbus






127

Calculo del CRC
Se calcula el CRC de la trama recibida y se compara con el CRC recibido
para verificar si la trama es vlida, si no lo es se genera una respuesta en
excepcin.
Direccin Modbus
Se consulta si la direccin Modbus que se encuentra en la trama coincide
con la direccin del Esclavo la cual ha sido previamente asignada, en caso
de que no sean iguales se asume que la trama no es para este Esclavo y se
descarta.
Funciones
Se consulta en la trama recibida qu funcin se debe realizar, que en este
caso solo pueden ser la funcin 2 y la funcin 4
Respuesta en excepcin
Se enva una respuesta al Maestro en caso de alguna inconsistencia por
que la trama no es vlida y/o funcin no soportada.

4.3.6.1 Cdigos de Funcin Modbus

Para poder usar el hardware del mdulo por medio del protocolo Modbus es
preciso establecer una relacin entre las funciones y las entradas del mdulo,
dado que este es un dispositivo de solo entradas anlogas-digitales se utilizaron
dos funciones del protocolo Modbus que se detallaran a continuacin.

Funcin 02(0x02) Lectura de Entradas Digitales: Esta funcin captura la
informacin del estado de entradas de datos discretos, cada entrada necesita un
128

espacio de memoria de un Bit, el cual representara los estados ON (activa) u OFF
(apagada).
La lectura del estado de una entrada digital por medio de esta funcin se lleva a
cabo leyendo el Bit de la correspondiente entrada digital.
Para mejorar el rendimiento se ha decidido implementar un registro que permita
conocer el estado de las 8 entradas digitales por medio de esta funcin, de esta
forma, de una sola peticin se adquiere informacin de todo el estado de todas las
entradas digitales. En la Figura 4.11 se detalla el software de la funcin.
Figura 4.11-Diagrama de Flujo Subrutina Leer Entradas Digitales

129

Se consulta si el nmero de entradas solicitados est entre el rango de las
entras del dispositivo Esclavo.
Se verifica la direccin de registro y el nmero de registro de las entradas
digitales a leer.
Procesamiento de la solicitud Modbus
Se lleva cabo la el cumplimiento de la funcin 02 y se verifica que no hubo
ningn error al procesar la solicitud
Envi de respuesta
En la construccin de la respuesta Modbus se preparan los Bytes de
informacin a ser enviados como respuesta y se calcula el CRC de estos
datos para finalmente enviar una respuesta al Maestro.
Respuesta en excepcin
Se realiza una respuesta en excepcin en caso:
Si el nmero de entradas solicitados no est entre el rango de las
entras del dispositivo Esclavo.
Si la direccin de registro y el nmero de registro de las entradas
anlogas a leer no estn correctos.
Si hubo error al procesar la solicitud.

Funcin 4(0x04) lectura de entradas anlogas: La funcin 04 es una
funcin para la adquisicin de datos de entrada pero se diferencia de la funcin 02
en que los datos se registran de 16 Bits en lugar de 1 Bit.
Por medio de esta funcin se lee el valor que hay en las entradas anlogas del
mdulo, cuya variacin de 1 a 5 se digitaliza con valores discretos entre 0 a
1023, puesto que el ADC es de 10 Bits. Luego se escalan de 0-100%. En la Figura
4.12 se describen las subrutinas de la funcin.
130

Figura 4.12-Diagrama de Flujo Subrutina Leer Entradas Anlogas

Se consulta si el nmero de entradas solicitados est entre el rango de las
entras del dispositivo Esclavo.

Se verifica la direccin de registro y el nmero de registro de las entradas
anlogas a leer.


131


Procesamiento de la solicitud Modbus
Se lleva cabo la el cumplimiento de la funcin 04 y Se verifica que no hubo
ningn error al procesar la solicitud
Envi de respuesta
En la construccin de la respuesta Modbus se preparan los Bytes de
informacin a ser enviados como respuesta y se calcula el CRC de
estos datos para finalmente enviar una respuesta al Maestro.

Respuesta en excepcin
Se realiza una respuesta en excepcin en caso:
Si el nmero de entradas solicitados no est entre el rango de las
entras del dispositivo Esclavo.
Si la direccin de registro y el nmero de registro de las entradas
anlogas a leer no estn correctos.
Si hubo error al procesar la solicitud.







132


5 PRUEBAS Y RESULTADOS

En este captulo se describen las pruebas realizadas para verificar el correcto
funcionamiento del mdulo Esclavo una vez terminada su construccin.

5.1 SOFTWARE UTILIZADO PARA LAS PRUEBAS

Para poder establecer una comunicacin Modbus entre el dispositivo Esclavo y el
PLC S7-200 es necesario instalar en el PC primero el Software del PLC STEP 7-
Micro/WIN y despus la librera Modbus de instrucciones para el STEP 7-
Micro/WIN.
STEP 7-Micro/WIN de Siemens es el Software o plataforma de trabajo que
adems permite configurar el PLC S7-200 como un Maestro Modbus. Cuenta con
la capacidad de poder monitorear la comunicacin Modbus, los datos solicitados y
los errores que se puedan presentar en la solicitud. Para poder hacer el monitoreo
es necesario que el STEP 7-Micro/WIN tenga comunicacin constante con el PLC;
esta comunicacin debe hacerse utilizando cualquier medio serial(PPI, Profibus,
OPC, etc.) excepto el puerto 0 del PLC puesto que este es usado para la
comunicacin Modbus. Para hacer estas pruebas se decidi hacer el monitoreo
por comunicacin Ethernet TCP/IP porque es de fcil configuracin tanto en el
PLC como en el PC. En la siguiente Figura 5.1 se observa el sistema
implementado para las pruebas.


133


Figura 5.1-Sistema Para Las Pruebas


Para empezar, la librera de operacin para el protocolo RTU Modbus estn
disponibles dentro de la carpeta Libreras del rbol de operaciones del STEP 7-
Micro/WIN"(Vase Figura 5.2). El requerimiento para utilizar esta librera de
funciones de Modbus es disponer del STEP 7-Micro/WIN a partir de la versin
V3.2. Para la comunicacin Modbus se utilizan los mdulos de la librera Modbus:
"MBUS_CTRL" y "MBUS_MSG" para la parte del Maestro, las Tablas 5.1 y 5.2
describen el significado y las posibilidades de seleccin de los parmetros de
estos mdulos.




134


Figura 5.2-rbol de Operaciones

Fuente [9]






135


Tabla 5.1Parmetros de la Operacin MBUS_CTRL
Parmetros Significado Posibilidades de
seleccin
EN Liberacin
Mode Indicacin del protocol 0 = PPI, 1 = MODBUS
Baud Velocidad de transmisin en kBit/s 1200, 2400, 4800,
9600, 19200, 38400,
57600, 115200
Parity Paridad 0 = Ninguna, 1 = impar,
2 = par
Timeout Tiempo mximo para la respuesta del
Esclavo en ms

Done Aviso de finalizacin
Error Cdigo de error Vase Tabla 2.7

Tabla 5.2-Parmetros de la operacin MBUS_MSG
Parmetro Significado Posibilidades de seleccin
EN Liberacin
First Activacin
Slave Direccin del Esclavo
RW "lectura" o "escritura" 0 = lectura, 1 = escritura
Addr
Direccin de inicio en Mobdus






0 -128 = Salidas digitales
1001-10128 = Entradas
digitales
30001-30092 = Entradas
analgicas
40001-49999 = Registros
2

Count Nmero de Bits (0xxxx, 1xxxx) /
Palabras (3xxxx,
4xxxx)

DataPtr Puntero al inicio de la memoria
de variables

Done Aviso de finalizacin
Error Cdigo de error Vase Tabla 2.7
Fuente [9

136

Para el monitoreo de los datos se emplea la herramienta Status Chart que viene
incluida en el STEP 7-Micro/WIN. Esta herramienta permite ver los registro de
memoria donde son almacenados los datos que se quieren monitorear, los datos
pueden ser representados en formatos tales como: decimal, hexadecimal, binario
y ASCII. En la Figura 5.3 se explica la conformacin del status chart.
Figura 5.3-Ventana Status Chart

Address= Direccin de la variable que se quiere monitorear.
Format= Formato que se representa el valor de la variable monitoreada:
Signed, Unsigned, Hexadecimal, Binary, FLoat y ASCII.
Current Value= Valor actual de la variable monitoreada.

5.2 CONFIGURACIN DE LOS MDULOS MBUS_CTRL Y MBUS_MSG

Para realizar las pruebas se configuro la librera Modbus de la siguiente manera:


137

5.2.1 MBUS_CTRL

La operacin MBUS_CTRL para el puerto 0 del S7-200 sirve para inicializar, vigilar
o desactivar la comunicacin Modbus. MBUS_CTRL se debe ejecutar sin errores
antes de poder utilizar la operacin MBUS_MSG. La operacin se finaliza y el Bit
Done se pone a 1 inmediatamente, antes de continuar con la siguiente operacin.
(Vase Figura 5.4)
Figura 5.4-Modul MBUS_CTRL


Esta operacin se ejecuta en cada ciclo cuando est activada la entrada EN. La
operacin MBUS_CTRL se debe llamar en cada ciclo (incluyendo el primero) para
que sta pueda vigilar el progreso de los mensajes pendientes iniciados por la
operacin MBUS_MSG. El protocolo de Maestros Modbus no funcionar
correctamente si no se llama a la operacin MBUS_CTRL en cada ciclo. (Vase
Anexo F)
Configuracin:
Con "Mode"=1 se configura el Puerto 0 como Modbus
138

"Baud=9600" es la velocidad recomendada para el protocolo modbus
"Parity=0" el dispositivo Esclavo funciona sin paridad
Un "Timeout=1000" es suficiente tiempo para esperar una respuesta del
Esclavo
"Done=M0.0" y "Error=MB1" esta son las variables donde se almacena
cuando la rutina ha finalizado y/o algn error ha ocurrido.

Cabe destacar que algunas pruebas realizadas para el correcto funcionamiento
del dispositivo esclavo fueron realizadas con intervalos de tiempo de hasta dos
horas de funcionamiento continuo para comprobar la estabilidad del equipo en el
tiempo. Estas pruebas de estabilidad arrojaron resultados satisfactorias para
confiabilidad del equipo.

5.2.2 MBUS_MSG

La operacin MBUS_MSG sirve para iniciar una peticin a un Esclavo Modbus y
procesar la respuesta. La operacin MBUS_MSG inicia una peticin a un Esclavo
Modbus si estn activadas las entradas EN y First. Para enviar la peticin, esperar
la respuesta y procesarla se requieren generalmente varios ciclos del programa
del PLC. La entrada EN debe estar puesta a 1 para poder enviar una peticin,
debiendo permanecer activada hasta que se active el Bit Done. (Vase Figura 5.5)




139

Figura 5.5-Modul MBUS_MSG


Nota: Slo puede estar activada una operacin MBUS_MSG a la vez. Si hay ms
de una operacin MBUS_MSG activada, se procesar la primera MBUS_MSG
ejecutada y todas las dems operaciones MBUS_MSG se cancelarn con el
cdigo de error 6.
Si hay una nueva peticin que se deba enviar el parmetro First debe estar
activado durante un ciclo. La entrada First se debe activar cuando se detecte un
flanco positivo, haciendo que la peticin se transmita una vez. El parmetro Slave
es la direccin del Esclavo Modbus. El rango permitido est comprendido entre 0 y
247. La direccin 0 se usa como direccin de broadcast (difusin general),
pudiendo utilizarse slo para peticiones de escritura. No hay respuesta a una
peticin de broadcast a la direccin 0. No todos los Esclavos soportan la direccin
de broadcast. El parmetro "EN=1" habilita esta rutina.
Configuracin:
El parmetro "EN=1" habilita esta rutina.
El parmetro "First=0/1" inicia el envi de una trama modbus.
140

La ID Slave=1 es la direccin que tiene el mdulo Esclavo la cuales tiene
que coincidir con la del Esclavo.
El "RW"=1 seala que la funcin a ejecutarse es solo de lectura.
El puntero "DataPtr=VB10" representa el comienzo de la memoria de
variables a leer. Hay que tener mucho cuidado al escoger el puntero por
que puede solaparse con algn registro que utiliza la librera Modbus.
Este parmetro "Addr" = "xxxxx" (Funcin que se desea probar) indica la
direccin de la funcin que se desea solicitar.
El parmetro "Count" le indica a Addr el nmero de palabras que se desea
leer.

5.3 COMPROBACIN DE LA FUNCIN 02(LECTURA DE ENTRADA
DIGITAL) Y DE COMUNICACIN CON El PLC

Para verificar que hay comunicacin Modbus entre el PLC y la tarjeta de
adquisicin de datos se utiliza la funcin 02 que permite leer entradas digitales. En
la Figura 5.6 se observa la ventana del Status Chart la variable MB2 en la cual se
guardan los errores, encontrndose en 0 al hacer la prueba (Vase Tabla 2.7-
Cdigos de Error de Ejecucin del Protocolo Modbus en el Esclavos) lo que indica
que hay comunicacin sin errores entre los dos dispositivos.
Para comprobar la funcin 02 y las entradas digitales reales se hicieron tres
pruebas:
La primera consiste en probar todas la entradas digitales al mismo tiempo (Vase
Figura 5.6) Para iniciar la prueba en el rutina MBUS_MSG se coloca el parmetro
Addr=10001 indicando que se va a solicitar la funcin 02 empezando desde la
primera entrada y el parmetro Count =8 para leer las siguientes 8 entradas
digitales contiguas.


141

Figura 5.6-Comprobacin de la Funcin 02-a


142

En la ventana del Status Chart se aprecia la variable VB10 con un valor actual en
binario de 11111111 lo que indica que todas las entradas digitales estn activadas
con presencia fsica de 24 sin errores de comunicacin o fuera de rango en la
solicitud.
En la segunda prueba se activan la mitad de las entradas digitales y la otra mitad
estn desactivadas (Vase Figura 5.7).















143


Figura 5.7-Comprobacin de la Funcin 02-b

144

En la ventana del Status Chart se aprecia la variable VB10 con un valor actual en
binario de 00001111 lo que indica que la mitad de las entradas digitales estn
activadas con presencia fsica de 24 sin errores de comunicacin o fuera de
rango en la solicitud.
Y en la ltima prueba se apagan todas las entradas digitales y como se puede ver
en la Figura 5.8 no hay ningn tipo de error y el estado real de las entradas es
0000000b.















145

Figura 5.8-Comprobacin de la Funcin 02-c

146

5.4 COMPROBACIN DE LA FUNCIN 04(LECTURA DE ENTRADA
ANLOGA)

Para comprobar la funcin 04 y las entradas anlogas fsicamente se hicieron tres
pruebas:
La primera consiste en probar las 2 entradas anlogas al 100% de la seal (20mA)
(Vase Figura 5.9). Para iniciar la prueba, el mdulo MBUS_MSG se configura con
el parmetro Addr=30001 indicando que se va a solicitar la funcin 04, empezando
desde la primera entrada y el parmetro Count =2 para leer las 2 entradas
anlogas seguidamente.













147

Figura 5.9-Comprobacin de la Funcin 04-a


148

El puntero de donde se empiezan a guardar los datos est en la variable VB10,
dado que la informacin es de 16 Bits, los datos se almacena en las variables
contiguas VW10 y VW12. VB10 corresponde a la parte alta de la palabra VW10.
En la ventana del Status Chart se aprecia la variable con un valor actual en
decimal de 100 cada una, lo que indica que la seal de las entradas anlogas est
al mximo valor con una presencia fsica de 20mA, sin errores de comunicacin o
fuera de rango en la solicitud.
La segunda prueba se hace con la mitad de la seal de las entradas anlogas
(Vase Figura 5.10).














149

Figura 5.10-Comprobacin de la Funcin 04-b


150

En la ventana del Status Chart se aprecia la variable VW10 y VW12 con un valor
actual en decimal de 50 lo que indica que la seal de las entradas anlogas est
con presencia fsica de 12mA y sin errores de comunicacin o fuera de rango en la
solicitud.
En la ltima prueba se enva el valor mnimo de las entradas anlogas (4mA).
Como se puede ver en la Figura 5.11 no hay ningn tipo de error y el estado real
de las entradas es 0d con una presencia fsica de 4mA.















151

Figura 5.11-Comprobacin de la Funcin 04-c



152

5.5 COMPROBACIN DE CAMBIO DE VELOCIDAD

Debido a que el dispositivo Esclavo tiene la capacidad de cambiar la velocidad de
transmisin se realizaron pruebas de comunicacin en las cuales se cambia la
misma velocidad en ambos dispositivos.
El dispositivo Esclavo tiene la capacidad de cambiar su velocidad entre estos
rangos: 1200, 2400, 4800, 9600 y 19200 bps. La prueba se hizo en todos los
rangos mencionados logrando comunicacin exitosa, pero grficamente se
mostrarn los casos extremos (mxima y mnima velocidad).
En el primer caso la velocidad se cambia parmetro baud=1200bps como se
observar en la Figura 5.12. Se consigue tener una comunicacin exitosa entre los
dos dispositivos como se observa en la Figura 5.12 la variable MB2=0 sin errores.











153

Figura 5.12-Comprobacin de Cambio de Velocidad 1200


En el segundo caso la velocidad en el parmetro baud=19200bps se configura
como se observa en la Figura 5.13, siendo esta la velocidad ms alta del
dispositivo Esclavo. Se consigue tener una comunicacin exitosa entre los dos
dispositivos como se observa en la Figura 5.13 la variable MB2=0 sin errores.
154

Figura 5.13-Comprobacin de Cambio de Velocidad 19200





155

5.6 PRUEBA DE CAMBIO DE DIRECCIN DEL ESCLAVO

En las pruebas anteriores la direccin del Esclavo fue 1, en esta prueba se cambio
a 8 en los dos dispositivos como se observa en la Figura 5.14, el parmetro Slave
fue cambiado y la variable MB2 contina en 0 sin errores

Figura 5.14-Prueba de Cambio de Direccin del Esclavo

156

5.7 COMPROBACIN DE ERRORES

Si se presenta alguna falla en la comunicacin o el monitoreo de los datos se
presentan errores; por esta razn se realizaron pruebas forzando errores en el
sistema implementado (Vase Figura 5.1) para probar los mensajes de excepcin.
Las pruebas realizadas son las siguientes:
Vencimiento del Timeout de recepcin.
Solicitud no soportada.
Direccin de datos no soportada Funcin 02
Direccin de datos no soportada Funcin 04

5.7.1 Vencimiento del Timeout de Recepcin (Error 03)

Este error ocurre cuando no se ha recibido una respuesta del Esclavo dentro del
tiempo indicado en Timeout, el cual est configurado con 1000ms. Ello puede
deberse a:
Una conexin elctrica defectuosa con el Esclavo
Que los ajustes del Maestro y del Esclavo son diferentes (velocidad de
transferencia y/o paridad)
Una direccin incorrecta del Esclavo.





157

Figura 5.15-Vencimiento del Timeout de Recepcin-1


En la prueba, el parmetro Baud del mdulo MBUS_CTRL en el Maestro fue
cambiado a 19200 (Vase Figura 5.15) y el en Esclavo la velocidad de trasmisin
se mantuvo en 9600bps, forzando as un error de disparidad de velocidad lo cual
no permite comunicacin entre los dos dispositivos causando que el Maestro envi
la solicitud sin obtener una respuesta hasta que el Timeout expire y genere el error
MB2=3.

158

Figura 5.16-Vencimiento del Timeout de Recepcin-2


Inmediatamente se gener el mismo error cambiando la direccin del Esclavo en
la solicitud del Maestro (Slave=2), la cual no coincide con la direccin del
dispositivo Esclavo ID=1 causando que nunca exista una respuesta por parte de
este generando as el error MB=2 Timeout expirado (Vase Figura 5.15)
159

5.7.2 Funcin No Soportada (Error 101)

Este error sucede cuando el Esclavo no soporta la funcin solicitada en esta
direccin. Para forzar el error se solicit una funcin que el Esclavo no soporta
Addr=40001(Lectura de Registro de Retencin), generando as el error MB2=101
(Vase Figura 5.17).
Figura 5.17-Funcin No Soportada


160

5.7.3 Direccin de Datos No Soportada (Error 102 Funcin 02)

El Esclavo no soporta la direccin de los datos. El rango de direcciones de la
funcin solicitada de Addr ms Count est fuera del rango de direcciones
permitido para el Esclavo.
Para forzar este error en la funcin 02 el parmetro Addr se configur una
direccin de inicio errnea 10009 puesto que el dispositivo Esclavo tiene un rango
de direccin de los datos digitales de 10001-10008, se genera el envi de un
cdigo de excepcin en respuesta indicando el error MB2=102 (Vase Figura
5.18).













161

Figura 5.18-Direccin de datos no soportada funcin 02-a


Otra forma que pueda ocurrir este error es si el parmetro Count es configurado
fuera de rango Count=9 puesto que el dispositivo Esclavo solo tiene 8 entradas
digitales causando el envi de un cdigo de excepcin en respuesta indicando el
error MB2=102 (Vase Figura 5.19).
162

Figura 5.19-Direccin de Datos No Soportada Funcin 02-b


5.7.4 Direccin de Datos No Soportada (Error 102 Funcin 04)

El Esclavo no soporta la direccin de los datos. El rango de direcciones de la
funcin solicitada de Addr ms Count est fuera del rango de direcciones
permitido para el Esclavo.
163

Para forzar este error en la funcin 04 el parmetro Addr se configur una
direccin de inicio errnea 30009 puesto que el dispositivo Esclavo tiene un rango
de direccin de los datos anlogos de 30001-30002 se genera el envi de un
cdigo de excepcin en respuesta indicando el error MB2=102 (Vase Figura
5.20).
Figura 5.20-Direccin de Datos No Soportada Funcin 04-a

164

Otra manera de forzar este error es si el parmetro Count es Configurado fuera de
rango Count=9 puesto que el dispositivo Esclavo solo tiene 2 entradas anlogas
esto causa el envi de un cdigo de excepcin en respuesta indicando el error
MB2=102 (Vase Figura 5.21).
Figura 5.21-Direccin de Datos No Soportada Funcin 04-b



165

6 CONCLUSIONES Y RECOMENDACIONES

6.1 CONCLUSIONES

Dadas las caractersticas del diseo del mdulo de adquisicin de datos con
comunicacin Modbus este sirve como herramienta didctica dentro del
laboratorio de automatizacin de ingeniera electrnica, para el desarrollo
de nuevas aplicaciones con PLCs Siemens y comunicaciones industriales
tales como sistemas de adquisicin de datos industriales, domtica,
edificios inteligentes, en aplicaciones de supervisin, control de variables,
como mdulo de expansin para puertos en PLC, etctera, brindndole al
estudiante una perspectiva ms amplia en el rea de las comunicaciones
industriales y la adquisicin remota de datos.

Los mdulos similares en el mercado que son fabricados por grandes
empresas y tienen costos elevados no se compara con el prototipo
implementado el cual cuenta con elementos de costo moderado y fcil
adquisicin, fcil de duplicar y podra ser usado para distintas aplicaciones
didcticas. Por lo cual este proyecto se convierte en una opcin econmica
para el desarrollo de aplicaciones de distinto mbito.

Modbus es un bus de campo que flexibiliza la expansin de nuevos
transmisores o actuadores en un sistema ya instalado, tambin permite la
reduccin masiva de cables y costos asociados. Su frecuente aplicacin en
la industria colombiana y de la regin hace que sea importante tenerlo en
cuenta para estudiar su estructura y campo de aplicacin.

En la implementacin de la tarjeta adquisicin de datos se opto por un
Display LCD como modo de visualizacin para la configuracin del
166

dispositivo Esclavo como velocidades de trasmisin y direccin del Esclavo.
Adems la interfaz permite el monitoreo de las variables durante la
comunicacin Modbus con el fin de efectuar la supervisin del estado actual
de las entradas anlogas-digitales del dispositivo Esclavo localmente.

Durante las pruebas de comunicacin serial se comprobaron la informacin
de los datos de las tramas recibidas y enviadas tales como; los cdigos de
excepcin, la no recepcin de una respuesta, la configuracin de diferentes
velocidades de trasmisin y direccin de Esclavo. El resultado de estas
pruebas fue el eficiente funcionamiento del dispositivo Esclavo tanto para
los datos de adquisicin como para las condiciones que el protocolo
Modbus exige.

6.2 RECOMENDACIONES

Para este tipo de proyecto que realicen funciones como manejo de
protocolos de comunicacin y adquisicin de datos, es preferible utilizar un
leguaje de programacin de nivel alto para implementar estas aplicaciones.
se recomienda usar compiladores para microcontroladores PIC que
trabajan con lenguaje C como: PICC DE HI-TECH, CCS PIC C Compiler
los cuales cuentan con libreras e instrucciones que facilitan la
implementacin de un sistema como este.

Se recomienda configurar correctamente el Mdulo de la librera modbus
MBUS_MSG del Step Microwin del PLC S7-200 los parmetros Count y
Addr para evitar errores por mala configuracin de direccionamiento de
datos.
Se aconseja configurar correctamente el Mdulo de la librera modbus
MBUS_MSG del Step Microwin del PLC S7-200 el parmetro Slave y el
167

parmetro baud de la librera modbus MBUS_CTRL para evitar errores al
no recibir respuesta en la comunicacin.

Finalmente, se recomienda leer el Manual de Usuario de este equipo para
su ptima utilizacin y correcto funcionamiento, adems de revisar la teora
acerca del Protocolo Modbus, poniendo nfasis en las Funciones y Tramas.















168

7 BIBLIOGRAFA

[1] B&B Electronics Mfg. RS-485 remote I/O solutions. [En lnea], <http://www.bb-
elec.com/product_multi_family.asp?multifamilyid=21>,[citado el 26 de octubre
20010]

[2]MODBUS.ORG. DGH Corporation. [En lnea]
<http://www.Modbus.org/viewdevice.php?id=259>, [citado el 23 de octubre de
20010]

[3] MODICON. Bus, Networks & Communication [en
lnea].<www.modicon.com/techpubs/toc7.html>[citado el 14 de octubre de 2010]

[4]CREUSS, ANTONIO. Instrumentacin y control industrial. Cuarta edicin.
Editorial Marcombo. Mxico, 1992.

[5]Corrales Luis. Interfaces de Comunicacin Industrial, Almera (Espaa) ,2004.

[6]AUTONOMAS.ORG. Protocolo Modbus. [En
lnea],<lhttp://www.automatas.org/Modbus>,[citado el 22 de octubre 2010]

[7]MODBUS.ORG. Gua Protocolo Modbus. [En lnea] <www.Modbus.org/docs/
Modbus_Application_Protocol_V1_1b.pdf> [citado en 10 de Julio de 2010]

[8]MODBUS.ORG. Gua Protocolo Modbus. [En lnea]
<www.Modbus.org/docs/Modbus_over_serial_line_V1.pdf> [citado en 22 de Julio
de 2010]

169

[9]Siemens Automation. Empresa fabricante de PLC S7-200 [En lnea]
<cache.automation.siemens.com/dnl/zI/zIwODk3AAAA_1109582_HB/s7200_syste
m_manual_es-ES.pdf> [citado en 12 de Octubre de 2010]

[10]MICROCHIP. Fabricante de microcontroladores PIC [En lnea] caracterstica
tcnicas sobre PIC16f877a<www.microchip.com>

[11]WIKIPEDIA.ORG. Teora Amplificadores Operacionales. [En lnea]
<http://es.wikipedia.org/wiki/Amplificador_operacional> [citado en 28 Septiembre
de 2010]

[12]IFENT.ORG. Teora Amplificadores Operacionales. [En lnea]
<http://www.ifent.org/temas/amplificadores_operacionales.asp> [citado en 15
Febrero de 201]

[13]AUTOMATAS.ORG. Buses de Campo. [En lnea]
<http://www.automatas.org/abb/comunicaciones.htm> [citado en 30 de Agosto de
2010]

[14]IFENT.ORG. Mdulo LCD [En lnea]
<http://picrobot.blogspot.com/2010/03/lcdgar.html> [citado en 15 Febrero de 201]






170





























171

8 ANEXOS


























172

Anexo A-Manual de Usuario



























173

NDICE

INTRODUCCIN 175

1. DESCRIPCIN DEL EQUIPO 175
1.1. CARACTERSTICAS 175
1.2. COMPONTES DEL DISPOSITIVO 176
1.2.1. Descripcin de los Componentes del Bloque Central 177
1.3. CONEXIONES 178
1.4. PREPARACIN PARA LA OPERACIN DEL DISPOSITIVO 179

2. OPERACIN DEL DISPOSITIVO 186
2.1.MEN CONFIGURACIN
186
2.1.1. Configuracion de Velocidad 187
2.1.2. Configuracion de Dereccion del Esclavo 188
2.2.MEN DATOS I/0
189

3. MANTENIMIENTO Y PRECAUCIONES 190
3.1. PRECAUCIONES DE OPERACIN 190

174















175

INTRODUCCIN

El mdulo de adquisicin de datos DAQ es un dispositivo porttil que sirve como
interfaz remota para la adquisicin de datos para el PLC S7-200. La DAQ se
comunica con el PLC mediante el protocolo Modbus RS485.Este dispositivo tiene
la capacidades de adquirir de seales Anlogas-Digitales, monitorear localmente
los datos y ser configurado para la comunicacin Modbus.

1. DESCRIPCIN DEL EQUIPO

1.1. CARACTERSTICAS

El modulo de adquisicin de datos cuanta con las siguientes caractersticas:
Adquisicin de seales digitales de 0-24v pticamente aisladas.
Adquisicin y conversin de seales anlogas de 4-20mA.
Comunicacin con PLC S7-200 mediante el bus de campo Modbus
Puerto serial RS485
Compatibilidad con cables de 2 hilos
Capacidad de reajustar parmetros de configuracin de la comunicacin
Modbus a travs de la interfaz de usuario.
Sin comprobacin de paridad
Interfaz de usuario para el monitoreo local de los datos.
Adaptador de alimentacin externo 110-240V.



176

1.2. COMPONTES DEL DISPOSITIVO

El dispositivo esclavo se compone de un bloque central en el cual internamente se
encuentra toda la circuitera, la unidad procesamiento y la interfaz de
comunicacin. En este bloque est conformado por la interfaz de usuario (LCD y
teclado), conector DB9 para la interfaz de comunicacin RS485. Cuenta con 8
terminales de conexin para las entradas digitales, 2 terminales para las entradas
anlogas y un LED piloto indicando cuando se efecta la una comunicacin
Modbus.
Figura 1.1-Vista Frontal Superior


177

Figura 1.2-Vista Lateral Superior


Figura 1.3-Vista latera derecha


1.2.1. Descripcin de los Componentes del Bloque Central

En la en la imgenes anteriores se observaron la diferentes vista del dispositivo.
DB9. Terminal para la comunicacin Modbus RS-485

AN1 Terminal para la seal Anloga uno.

AN2 Terminal para la seal Anloga dos.

GND Tierra Anlogas
178


COM Comn 24V

D0-D7 Terminal para las 8 seales digitales.

Tx/Rx LED indicador de transmisin.

Vin Terminal para la fuente de alimentacin externa.

Tecla de seleccin de una opcin o parmetro.

Tecla de seleccin de una opcin o parmetro.

Ent Tecla para seleccionar o modificar opcin.

1.3. CONEXIONES

Para asegurar un correcto funcionamiento hay que conectar la fuente de
alimentacin externa al dispositivo para energizarlo y conectar el cable serial al
dispositivo esclavo mediante el puerto DB9 y el otro extremo al puerto 0 del PLC
(Vase Figura. 1.4)








179

Figura 1.4-Sistema de Conexin


1.4. PREPARACIN PARA LA OPERACIN DEL DISPOSITIVO

Antes comenzar a utilizar el dispositivo esclavo, previamente hay que configurar el
dispositivo maestro PLC S7-200 Siemens como maestro Modbus ya que si no
existe al menos un maestreo en una red Modbus nunca habr comunicacin
serial.
Para poder establecer comunicacin Modbus entre el dispositivo Esclavo y el PLC
S7-200 es necesario instalar en el PC primero el Software del PLC STEP 7-
Micro/WIN y despus la librera Modbus de instrucciones para el STEP 7-
Micro/WIN.
STEP 7-Micro/WIN de Siemens es el Software o plataforma de trabajo que
adems permite configurar el PLC S7-200 como un Maestro Modbus. Cuenta con
la capacidad de poder monitorear la comunicacin Modbus, los datos solicitados y
los errores que se puedan presentar en la solicitud. Para poder hacer el monitoreo
180

es necesario que el STEP 7-Micro/WIN tenga comunicacin constante con el PLC;
esta comunicacin debe hacerse utilizando cualquier medio serial (PPI, Profibus,
OPC, etc.) excepto el puerto 0 del PLC puesto que este es usado para la
comunicacin Modbus. Para fines didcticos se decidi hacer el monitoreo por
comunicacin Ethernet TCP/IP porque es de fcil configuracin tanto en el PLC
como en el PC.
El requerimiento para utilizar la librera de funciones Modbus es instalar el STEP
7-Micro/WIN a partir de la versin V3.2. Despus de haber instalado exitosamente
existir un grupo de iconos correspondientes en el rbol de operaciones del STEP
-Micro/WIN donde para la comunicacin Modbus se utilizan los siguientes mdulos
de la librera: "MBUS_CTRL" y "MBUS_MSG", tal como se muestran en la figura:

Figura 1.5-rbol de Operaciones

181

El diseo del software que se implementa en STEP 7-Micro/WIN permite
configurar al PLC S7-200 como maestro y monitorear los datos solicitados y los
errores que se puedan presentar en la solicitud de datos del dispositivo maestro
hacia la tarjeta DAQ durante la comunicacin Modbus
A continuacin se presenta la explicacin de los mdulos de la librera Modbus y la
configuracin recomendada para establecer una comunicacin Modbus.

Funcin del MBUS_CTRL:
La operacin MBUS_CTRL para el puerto 0 del S7-200 sirve para inicializar, vigilar
o desactivar la comunicacin Modbus. MBUS_CTRL se debe ejecutar sin errores
antes de poder utilizar la operacin MBUS_MSG. La operacin se finaliza y el Bit
Done se pone a 1 inmediatamente, antes de continuar con la siguiente operacin.
Esta operacin se ejecuta en cada ciclo cuando est activada la entrada EN. La
operacin MBUS_CTRL se debe llamar en cada ciclo (incluyendo el primero) para
que sta pueda vigilar el progreso de los mensajes pendientes iniciados por la
operacin MBUS_MSG. El protocolo de maestros Modbus no funcionar
correctamente si no se llama a la operacin MBUS_CTRL en cada ciclo.
Figura 1.6-Modulo MBUS_CTRL


182

Configuracin del modulo CTRL:

Con "Mode"=1 se configura el Puerto 0 como Modbus
"Baud=9600" es la velocidad recomendada para el protocolo modbus
"Parity=0" el dispositivo esclavo funciona sin paridad
Un "Timeout=1000" es suficiente tiempo para esperar una respuesta del
esclavo
"Done=M0.0" y "Error=MB1" esta son las variables donde se almacena
cuando la rutina ha finalizado y/o algn error ha ocurrido

Funcin del MBUS_MSG:
La operacin MBUS_MSG sirve para iniciar una peticin a un esclavo Modbus y
procesar la respuesta. La operacin MBUS_MSG inicia una peticin a un esclavo
Modbus si estn activadas las entradas EN y First. Para enviar la peticin, esperar
la respuesta y procesarla se requieren generalmente varios ciclos del programa
del PLC. La entrada EN debe estar puesta a 1 para poder enviar una peticin,
debiendo permanecer activada hasta que se active el Bit Done.
Nota: Slo puede estar activada una operacin MBUS_MSG a la vez. Si hay ms
de una operacin MBUS_MSG activada, se procesar la primera MBUS_MSG
ejecutada y todas las dems operaciones MBUS_MSG se cancelarn con el
cdigo de error 6.
Si hay una nueva peticin que se deba enviar el parmetro First debe estar
activado durante un ciclo. La entrada First se debe activar cuando se detecte un
flanco positivo, haciendo que la peticin se transmita una vez. El parmetro Slave
es la direccin del esclavo Modbus. El rango permitido est comprendido entre 0 y
247. La direccin 0 se usa como direccin de broadcast (difusin general),
pudiendo utilizarse slo para peticiones de escritura. No hay respuesta a una
183

peticin de broadcast a la direccin 0. No todos los esclavos soportan la direccin
de broadcast. El parmetro "EN=1" habilita esta rutina.
Figura 1.7-Modulo MBUS_MSG


Configuracin del modulo MSG:

El parmetro "EN=1" habilita esta rutina.
El parmetro "First=0/1" inicia el envi de una trama modbus.
La ID Slave=1 es la direccin que tiene el mdulo esclavo la cuales tiene
que coincidir con la del esclavo.
El "RW"=1 seala que la funcin a ejecutarse es solo de lectura.
El puntero "DataPtr=VB10" representa el comienzo de la memoria de
variables a leer. Hay que tener mucho cuidado al escoger el puntero por
que puede solaparse con algn registro que utiliza la librera Modbus.
Este parmetro "Addr" = "xxxxx" (Funcin que se desea probar) indica la
direccin de la funcin que se desea solicitar.
El parmetro "Count" le indica a Addr el nmero de palabras que se desea
leer.
184

El software se puede implementar teniendo en cuenta las configuraciones
anteriormente mencionado se pueden apreciar en la siguiente figura.




















185

Figura 1.8-Software para PLC S7-200


186

2. OPERACIN DEL DISPOSITIVO

Una vez cumplido los pasos de la seccin 1.3 -1.4 en la pantalla aparecer el
Men Principal del modul esclavo. En el men principal se encuentran dos
opciones para seleccionar, Configuracin y Datos I/O, las cuales permiten acceder
a submens para la configuracin del dispositivo esclavo y el monitoreo de los
datos Digitales-Anlogos (Vase figura).



2.1. MEN CONFIGURACIN

Por defecto los parmetros de comunicacin del dispositivo estn pre-
configurados de la siguiente manera:
ID=1
VEL=9600

Para empezar la operacin del dispositivo esclavo hay que configurar los
parmetros de comunicacin, de tal manera que coincidan con los parmetros
implementados en el Maestro, para as poder establecer comunicacin.
Inicialmente en la pantalla principal se visualiza el indicador apuntando a la opcin
Configuracin. Por defecto el indicador [>] se encuentra en modo de
desplazamiento, lo cual indica al usuario que puede desplazarse por las diferentes
opciones presionado las teclas y . Para acceder al Submen de
Configuracin se oprime la tecla Ent. Una vez presionada, el men principal
cambia al submen Configuracin tal como se muestra en la figura siguiente.
187




En este submen se encuentra dos parmetros para configurar: ID direccin del
esclavo que se quiere asignar y VEL velocidad de transmisin del dispositivo.

2.1.1. Configuracion de Velocidad

La Velocidad de Transmisin Serial se cambia seleccionando el parmetro VEL en
la pantalla, luego se pulsa la tecla Ent para seleccionar una de las 4 opciones de
velocidad [1200-2400-4800-9600-19200].
Cuando el indicador cambie de posicin apuntando hacia el parmetro [<] indica
que la opcin ya se puede modificar. Pulsando las teclas y el usuario
define la velocidad de transmisin del modulo, la seleccin se hace
ascendentemente y descendentemente con cada una de las opciones de
velocidad anteriormente mencionadas (Vase figuras).



Una vez seleccionada y definida la velocidad de transmisin se presiona la tecla
Ent para confirmar la seleccin escogida.

188



2.1.2. Configuracion de Dereccion del Esclavo
La Direccin del Dispositivo se cambia seleccionando el parmetro ID, luego se
Pulsa la tecla Ent para escoger la direccin que se desea asignar. Los rangos de
direccin estn comprendidos entre 1-8.



Cuando el indicador cambie de posicin apuntando hacia el parmetro [<] indica
que la opcin ya se puede modificar. Pulsando las teclas y el usuario define
la direccin del dispositivo esclavo, la seleccin se hace aumentando y/o
disminuyendo el rango de la direccin del esclavo. En las siguientes imgenes se
observa los valores extremos y medio de la direccin esclavo.



Una vez seleccionado y definido la direccin del esclavo se presiona la tecla Ent
para confirmar la eleccin escogida.


189

Despus de haber seleccionado los parmetros de configuracin y se quiere
regresar al men principal, desplazamos el curso con las teclas y hasta
opcin Salir, luego presionamos la tecla Ent e inmediatamente se regresa al men
principal.



2.2. MEN DATOS I/0

Estando en el men principal desplazamos el curso con las teclas y hasta
la opcin Datos I/O y presionamos la tecla Ent para ingresar al submen del
monitoreo de los datos (Vase figura).



El submen Datos I/O muestra el estado real de todas las seales de entrada del
dispositivo. Las seales anlogas se representan AN0 y AN1 en valores de
porcentaje de 0-100 y todas las seales digitales se representan en un byte de 8
bits llamado DB0, en la siguiente figura se muestra la visualizacin de los datos.



Para regresar al men principal en cualquier momento se presiona la tecla Ent.
190

3. MANTENIMIENTO Y PRECAUCIONES

En esta seccin se presentan las precauciones que se deben tomar y las acciones
a realizar para el correcto funcionamiento del dispositivo.
3.1. PRECAUCIONES DE OPERACIN

Verificar la correcta conexin del dispositivo (fuente de alimentacin y cable
serial).
Configurar el dispositivo maestro y esclavo con los mismos parmetros de
comunicacin serial.
Configurar correctamente los parmetros de solicitud Modbus (Addr,
Count,).
En caso de algn bloqueo en el correcto funcionamiento del dispositivo
esclavo, desconctelo y vulvalo conectar para reiniciar todas sus
funciones.











191

Anexo B-Datos Tcnicos del Microcontrolador PIC16F877A













192




193




194

195

196

197

198

199

200

201

202

203

204

205

206

207

208

209

210

211

212

213

214

215

216

217

218

219

220

221

222

223

224

225

226

227




228

Anexo C-Datos Tcnicos del Circuito Integrado MAX485



















229

230

231

232

233

234

235

236


237

Anexo D-Datos tcnicos del Circuito Integrado LM324

238

239

240

241

242

243

244

245




246

Anexo E-Datos tcnicos del Circuito Integrado 4N35



















247

248

249

250

251

252

253

254

255

256

257

258




259

Anexo F-Datos tcnicos del PLC (Manejo de la Librera Modbus)
260

261

262

263

264

265

266

267

268


269

270

271

272

273

274

275

276

También podría gustarte