Вы находитесь на странице: 1из 13

PONTIFICIA UNIVERSIDAD CATLICA DEL PER

SECCIN DE ELECTRECIDAD Y ELECTRNICA

Pontificia Universidad Catlica del Per


Seccin de Electricidad y Electrnica
IEE-314 Laboratorio de Tpicos de Instrumentacin y Control
Periodo: 2016-2

Redes de Comunicacin Industrial


Parte 2: Protocolo Modbus - RTU
1. OBJETIVOS.

Comprender el funcionamiento del protocolo maestro esclavo.

Implementar una red RS485 para el intercambio de informacin entre


procesadores utilizando el protocolo Modbus-RTU.

2. EQUIPOS Y MATERIALES

Software de simulacin Modbus Poll (Modbus master).


Tarjeta interface electrnica (Modbus slave).
Software de programacin y depuracin.

3. FUNDAMENTO TERICO
El protocolo de comunicacin MODBUS es una especificacin desarrollada por Modicon para
crear un nivel de aplicacin estndar para redes de comunicacin en ambientes industriales.
Red digital enmarcada en el concepto de Bus de Campo de Control.

3.1 Datos de los dispositivos MODBUS


Cuenta con topologa Maestro-Esclavo con una estructura de bus lineal en donde solo existe un
maestro. La comunicacin es en forma serial asncrona bajo estndares, RS-485 para enlaces
half-duplex y RS-232 para full dplex. Se usan diferentes medios fsicos como: cables, radio
frecuencia, fibra ptica, infrarrojo y velocidad de transmisin de 75 a 19200 baudios.
Modbus maneja bsicamente 4 tipos de datos:

PONTIFICIA UNIVERSIDAD CATLICA DEL PER


SECCIN DE ELECTRECIDAD Y ELECTRNICA

Tabla 1. Datos de los dispositivos MODBUS.

Tabla 2. Referencia de los datos en los controladores MODBUS


Si un maestro consulta a un esclavo acerca del estado de 22 entradas a partir de la entrada 197,
estar haciendo referencia a las entradas 10197-10298 del controlador esclavo (El primer dgito
indica la referencia del tipo de dato).
Este protocolo ha tenido gran acogida y se ha convertido en un estndar en la automatizacin
industrial gracias a su estructura de mensajes (opera con direcciones de memoria y no variables
concretas)

3.2 Tramas del MODBUS


El protocolo MODBUS posee 3 modos de comunicacin serie conocidas como ASCII, TCP y
RTU para el envo de mensajes (tramas). Estas cuentan con longitudes de hasta 256 caracteres.

PONTIFICIA UNIVERSIDAD CATLICA DEL PER


SECCIN DE ELECTRECIDAD Y ELECTRNICA

Los intercambios de mensaje cumplen ciclos de Pregunta/Respuesta. Como se observa, la


estructura de la trama enviada por el esclavo son similares a las enviadas por el maestro. Estas
deben contener por lo menos: direccin, cdigo de funcin, datos y chequeo de errores.
3.3 Campos de direccin:
Es un protocolo multipunto; es decir, se puede comunicarse a varios esclavos usando la misma
lnea de comunicacin (topologa de bus). Cada dispositivo est identificado. La direccin del
dispositivo debe estar en el rango de 1 a 63.
Broadcast: El maestro se dirige a todos los esclavos a la vez. En este caso el campo de direccin
debe contener como dato un cero y los esclavos aceptarn la peticin enviada y ejecutarn la
accin indicada. Si en caso, una pregunta se hace por medio de difusin ningn esclavo deber
enviar respuesta.
3.4 Campo de cdigo de funcin:
Existen 2 tipos de rdenes bsicas:
-

De lectura/Escritura:
De control (RUN/STOP), carga y descarga de programas, verificadores de contadores,
etc.

Tabla 3. Funciones bsicas y cdigos de operacin


3

PONTIFICIA UNIVERSIDAD CATLICA DEL PER


SECCIN DE ELECTRECIDAD Y ELECTRNICA

3.5 Campo de Datos:


Formado por grupo de dos dgitos hexadecimales (rango de 00 a FF). El campo de datos de los
mensajes enviados por el maestro a los dispositivos esclavos contiene informacin adicional que
el esclavo debe usar para la toma de decisiones, previamente programado. Este campo puede
incluir tems como direcciones iniciales de I/O a leer/ escribir. Si el maestro escribe un grupo de
registros en El esclavo, en el campo de datos debe especificarse el nmero de registro desde
donde se debe empezar, nmero de registros se van a escribir, nmero de bytes que se
transmiten, y los datos que tienen que ser escritos en el registro.
3.6 Bits necesarios por carcter a transmitir

Serialmente podemos enviar cualquier dato, por ejemplo, vamos a pensar que yo deseo enviar la
letra A de un dispositivo a otro, cuando son letras las que se envan generalmente se usa el
cdigo ASCII de la letra, as pues, para la letra A le corresponde el cdigo ASCII 65, que
convertido a unos y ceros (cdigo binario) nos da como resultado el 1000001, entonces para
enviar la letra A simplemente se enva una trama de bits como se muestra en la figura
siguiente.
Los caracteres para el modo de transmisin RTU tienen longitud de 11 bits, y si distribuyen as:

1 bit de inicio
8 bits de datos
1 bit de paridad
1 bit de parada

De esta forma se pueden enviar informacin, cualquier tipo de informacin, letras, nmeros y
caracteres. Se puede enviar el cdigo ASCII de una letra seguida de otra y as sucesivamente
para formar palabras, y as enviar la informacin que nosotros queremos, as de simple es la
comunicacin serial.
4

PONTIFICIA UNIVERSIDAD CATLICA DEL PER


SECCIN DE ELECTRECIDAD Y ELECTRNICA
Ejemplo de peticin, el maestro pide al esclavo 06 que enve 3 registros a partir del 006B:

Tabla 4. Consulta del maestro con formatos ASCII y RTU

Tabla 5. Respuesta del esclavo con formatos ASCII y RTU


Bit de Start y bit de Stop
A la trama de 8 bits que enva la letra A y que se mostr en la imagen anterior, siempre se le
agregan dos bits ms, uno al inicio y otro al final, esto con la finalidad de indicarle al receptor
cuando inicia el dato (bit de start) y cuando termina (bit de stop), es de suponer que ambos bits
van al inicio y al final de la trama de bits, esto se puede ver en la figura siguiente.
El bit de inicio es un 0 y el bit de paro es un 1, siempre que se enven datos seriales
generalmente llevan este formato, por ejemplo si se enva la palabra HOLA serialmente, se vera
como
la
figura
5

PONTIFICIA UNIVERSIDAD CATLICA DEL PER


SECCIN DE ELECTRECIDAD Y ELECTRNICA
siguiente la trama de bits, donde ahora no se muestran los unos y ceros, por simplicidad se
usaran bloques representando datos y bits de inicio y paro.

Bit de Paridad

Existe otro bit que se agrega a la trama, es el llamado bit de paridad, que sirve para detectar
errores en las tramas enviadas, no entraremos en detalle de este bit, pues es opcional su uso.
Velocidad de transmisin Finalmente debemos tener en cuenta la velocidad a la que se envan lo
bits serialmente, es de suma importancia pues como se mencion arriba, ambos dispositivos
deben estar a la misma velocidad para transmitir y recibir bits, si no lo estn, simplemente la
transmisin
serial
no
sera
correcta.
La velocidad de transferencia de informacin indica el nmero de bits que se transmiten en un
segundo, se mide en bauds (baudios) algunas velocidades de transmisin que son muy usadas
son
las siguientes: 1200, 2400, 4800, 9600, 19200. Por ejemplo la tarjeta de relevadores usa una
velocidad de 9600 bauds para enviar la informacin.

PONTIFICIA UNIVERSIDAD CATLICA DEL PER


SECCIN DE ELECTRECIDAD Y ELECTRNICA
3.7

Descripcin de funciones MODBUS

Cada funcin permite transmitir rdenes o datos a un esclavo. Hay 2 tipos de rdenes:

Lectura/escritura
Control (RUN/STOP)

A continuacin un resumen de las principales funciones de lectura/escritura usadas en el


laboratorio. En cada funcin se muestra un ejemplo del mensaje y su correspondiente respuesta
por parte del esclavo.
3.7.1

Leer estados de bobinas (01H)

Permite al maestro indagar por el estado de las salidas discretas de un dispositivo. Cuando se
utiliza la palabra Coils se hace referencia a las salidas discretas de los controladores. Estas
salidas tienen sentido ON/OFF. Bobinas referenciadas en 0X. En la figura se muestra mensaje
del envi de estado de las bobinas 20 a la 56

3.7.2 Leer Registros de Salida (03H)


Esta funcin permite conocer el estado en binario de los registros de salida (Holding Registers)
de un esclavo. Los registros tienen 16 bits de longitud y se empiezan a direccionar a partir del
registro cero.

PONTIFICIA UNIVERSIDAD CATLICA DEL PER


SECCIN DE ELECTRECIDAD Y ELECTRNICA
Como se observa en las figuras, en el mensaje de peticin se utilizan dos bytes para especificar
el registro inicial de los campos Direccin de Inicio. En este ejemplo el registro inicial es 40108
el cual ese da como 00H en la parte alta junto con 6BH en la parte baja. Por otra parte en el
campo Nro. De Registros se especifica la cantidad de registros que se deben enviar en la
respuesta. En ste ejemplo se deben enviar tres registros a partir de 40108, es decir, 40108 al
401010 del esclavo con direccin 17 (11H).
Un mensaje de respuesta para esta funcin puede ser la que se muestra en la figura. En este
ejemplo se observa que el contador de byte contiene un seis, indicando que se enviaran seis
bytes de datos en donde estar contenido el estado binario de los tres registros solicitados en la
peticin. Se debe observar en sta figura que cada registro se enva utilizando dos bytes, un byte
en la parte alta y uno en la parte baja.

3.7.3 Preestablecer un nico registro (06H)


Mediante esta funcin el maestro puede poner en determinado estado binario los bits que
conforman un registro de salida.

En los campos Dir. Registro a Forzar se indica la referencia del registro que se desea
preestablecer y en los campos Dato se especifica el estado binario al que debe ser establecido
ste registro.
La respuesta normal es un eco de la consulta y se devuelve luego de que el esclavo haya
efectuado el cambio.

PONTIFICIA UNIVERSIDAD CATLICA DEL PER


SECCIN DE ELECTRECIDAD Y ELECTRNICA
4. PROCEDIMIENTO
4.1 Implementacin de la red fsica RS485
La siguiente figura esquematiza la red RS485 implementada en el laboratorio de
Automatizacin y Control.

SWD

MODBUS
SLAVE
RS232
RS485

RS485

OTRO NODO RS485

BUS RS485

MODBUS
MASTER
RS485

RS485

SWD

SWD

MODBUS
SLAVE

MODBUS
SLAVE

Figura 4.1 Red 485 Laboratorio de Automatizacin y Control

4.2 Controlador Modbus.


Como controlador Modbus, utilizaremos el software de simulacin Modbus Poll. Este software
implementa un controlador Modbus capaz de realizar peticiones en formato Modbus a mltiples
esclavos mediante un formato de comunicacin determinado.
El software utiliza el puerto de comunicacin serial predeterminado en el equipo (puerto COM).
La interfaz fsica RS232 pasa por un adaptador RS232/RS485 para adaptarse fsicamente a
nuestra red Modbus-RTU.
ste software de simulacin permite abrir una ventana (archivo) por cada esclavo Modbus en la
red, asociar a cada archivo un nmero de esclavo, realizar funciones de lectura, escritura
simples, lectura escritura mltiples, definir el formato de comunicacin usado, visualizar las
tramas que llegan y salen del software, etc.

PONTIFICIA UNIVERSIDAD CATLICA DEL PER


SECCIN DE ELECTRECIDAD Y ELECTRNICA

Fig. 4.2 Software Modbus-Poll pantalla de configuracin de comunicacin e interfaces por esclavo Modbus.

Fig 4.3
Pantalla de configuracin
Formato de comunicacin Modbus.

Fig. 4.4
Pantalla de Definicin
Lectura/escritura de registros Modbus

10

PONTIFICIA UNIVERSIDAD CATLICA DEL PER


SECCIN DE ELECTRECIDAD Y ELECTRNICA
Fig. 4.5
Pantalla de definicin Lectura/Escritura
de mltiples registros Modbus.

Fig. 4.6
Pantalla de visualizacin para el trfico
de tramas Modbus.

4.3 Esclavo Modbus


Como esclavo Modbus, utilizaremos una tarjeta electrnica propietaria tal como se describe en
la figura 4.7. sta tarjeta interfaz tiene muchas caractersticas de comunicacin de las cuales
destacaremos la interfaz de comunicacin RS485 en modo full dplex, utilizado para la
comunicacin Modbus.

Fig. 4.7 Tarjeta Interfaz Modbus


Superior izquierda: programacin SWD
Superior derecha: red485
Inferior derecha: Alimentacin 12VDC

11

PONTIFICIA UNIVERSIDAD CATLICA DEL PER


SECCIN DE ELECTRECIDAD Y ELECTRNICA
La interfaz Modbus, se programa en alto nivel mediante el software de programacin Rowley
Crossworks (figura 4.8). De sta manera podemos tener el control total de nuestro esclavo
Modbus y programar la tarjeta interfaz mediante protocolo serial SWD.
Este IDE de programacin nos permite realizar las operaciones bsicas de compilacin y
depuracin en tiempo real de nuestro programa. La interfaz de programacin y depuracin se
realiza a travs del protocolo serial SWD.

Figura 4.8 Software de programacin de la tarjeta interfaz Modbus

Figura 4.9
Programador ST para
Tarjeta interfaz
Modbus slave

12

PONTIFICIA UNIVERSIDAD CATLICA DEL PER


SECCIN DE ELECTRECIDAD Y ELECTRNICA
5. PRCTICA DE LABORATORIO
5.1 Bus de Comunicaciones Modbus-RTU
Descripcin de la infraestructura de la red 485 usada en el laboratorio de Automatizacin y
control, software de comunicaciones y simulacin Modbus Poll (protocolo Modbus-RTU).
Descripcin de las funciones bsicas del esclavo Modbus, software de programacin Rowley
Crossworks, estructura de la aplicacin ModbusSlave.
5.2 Ejercicio de aplicacin.
Desarrollar un programa en la interfaz Modbus tal que simule la funcionalidad del controlador
CM-50 en sus funciones bsicas de lectura y escritura de registros.
El trabajo tiene una cuota de responsabilidad individual y grupal ya que los registros de cada
interfaz debern visualizarse en el software Modbus Poll. A su vez, el software Modbus Poll
deber comandar individualmente cada uno de los registros por separado de cada interfaz
Modbus.

Fig. 4.10
Izquierda: Controlador CM50
Derecha: Registros de Lectura/Escritura Modbus controlador CM-50.

13

Вам также может понравиться