Sei sulla pagina 1di 37

16/02/2014

PROTOCOLO MODBUS
PROF. LUIS ZURITA
INFORMTICA INDUSTRIAL II

16/02/2014

16/02/2014

MODBUS

16/02/2014

MODBUS

16/02/2014

MODBUS
Desarrollado por la Gould Modicon en 1984.
(ahora AEG Schneider Automation) para sistemas
de control y supervisin de procesos.
Por su simplicidad y especificacin abierta, es
ampliamente utilizado por diferentes fabricantes.
Entre los dispositivos que lo utilizan: PLC, HMI,
RTU, Drivers, sensores y actuadores remotos.
El protocolo establece como los mensajes se
intercambian en forma ordenada y permite la
deteccin de errores
http://www.modbus.org

16/02/2014

MODBUS
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).
Puede, por tanto, implementarse con diversos tipos
de conexin fsica y cada fabricante suele suministrar
un software de aplicacin propio, que permite
parametrizar sus productos.
No obstante, se suele hablar de MODBUS como un
estndar de bus de campo, cuyas caractersticas
esenciales son las que se detallan a continuacin.
http://www.modbus.org

16/02/2014

MODBUS

16/02/2014

ESTRUCTURA DEL PROTOCOLO MODBUS


Estructura de la red
Medio Fsico
El medio fsico de conexin puede ser un bus
semidplex (half duplex) (RS-485 o fibra ptica) o
dplex (full duplex) (RS-422, Bucle de Corriente 020 mA o fibra ptica).
La comunicacin es asncrona y las velocidades
de transmisin previstas van desde los 75 baudios
a 19.200 baudios. La mxima distancia entre
estaciones depende del nivel fsico, pudiendo
alcanzar hasta 1200 m sin repetidores.

16/02/2014

Acceso al Medio
La estructura lgica es del tipo maestro-esclavo, con
acceso al medio controlado por el maestro. El
nmero mximo de estaciones previsto es de 63
esclavos ms una estacin maestra.

http://www.modbus.org

16/02/2014

Acceso al Medio

10

16/02/2014

Acceso al Medio

11

16/02/2014

Mensajes
Los intercambios de mensajes pueden ser de dos
tipos:
Intercambios punto a punto, que comportan siempre
dos mensajes: una demanda del maestro y una
respuesta del esclavo (puede ser simplemente un
reconocimiento (acknowledge).
Mensajes difundidos. Estos consisten en una
comunicacin unidireccional del maestro a todos los
esclavos. Este tipo de mensajes no tiene respuesta
por parte de los esclavos y se suelen emplear para
mandar datos comunes de configuracin, reset, etc.

12

16/02/2014

Mensajes

MINIVIDEO1
http://www.modbus.org

13

16/02/2014

Protocolo
MODBUS RTU (Remote Terminal Unit). La comunicacin entre
dispositivos se realiza por medio de datos binarios. Esta es la
opcin ms usada del protocolo y es la que se implemento en
nuestras tarjetas.
MODBUS ASCII (American Standard Code for Information
Interchange). La comunicacin entre dispositivos se hace por
medio de caracteres ASCII.
Cada mensaje obedece a una trama que contiene cuatro
campos principales, segn se muestra en la figura 1. La nica
diferencia estriba en que la trama ASCII incluye un carcter de
encabezamiento (:=3AH) y los caracteres CR y LF al final del
mensaje. Pueden existir tambin diferencias en la forma de
calcular el CRC, puesto que el formato RTU emplea una
frmula polinmica en vez de la simple suma en mdulo 16.

14

16/02/2014

Protocolo

http://www.modbus.org

15

16/02/2014

Protocolo
.
.
(3AH)

N
ESCLAVO
(00-3FH)

CDIGO DE
OPERACIN

SUBFUNCIONES, DATOS

LRC (16) CR
H L
(0DH)

LF
(0AH)

ASCII
N
ESCLAVO
(00-3FH)

CDIGO DE
OPERACIN

SUBFUNCIONES, DATOS

LRC (16)
H L

CR
(0DH)

LF
(0AH)

RTU

16

16/02/2014

Estructura del protocolo


Nmero de esclavo (1 byte):
Permite direccionar un mximo de 63 esclavos con direcciones
que van del 01H hasta 3FH. El nmero 00H se reserva para los
mensajes difundidos.
Cdigo de operacin o funcin (1 byte):
Cada funcin permite transmitir datos u rdenes al esclavo.
Existen dos tipos bsicos de rdenes:
Ordenes de lectura/escritura de datos en los registros o en la
memoria del esclavo.
Ordenes de control del esclavo y el propio sistema de
comunicaciones (RUN/STOP, carga y descarga de programas,
verificacin de contadores de intercambio, etc.)

17

16/02/2014

Funciones disponibles en el protocolo MODBUS


con sus correspondientes cdigos de operacin.

18

16/02/2014

Funciones disponibles en el protocolo MODBUS


con sus correspondientes cdigos de operacin.

19

16/02/2014

Campo de subfunciones/datos (n bytes):


Este campo suele contener, en primer lugar,
los parmetros necesarios para ejecutar la
funcin indicada por el byte anterior.
Estos parmetros podrn ser cdigos de
subfunciones en el caso de rdenes de control
(funcin 00H) o direcciones del primer bit o
byte, nmero de bits o palabras a leer o
escribir, valor del bit o palabra en caso de
escritura, etc.

20

16/02/2014

Palabra de control de errores (2 bytes):


En cdigo ASCII, esta palabra
es simplemente la suma de
comprobacin (checksum)
del mensaje en mdulo 16
expresado en ASCII. En el
caso de codificacin RTU el
CRC se calcula con una
frmula polinmica segn el
algoritmo mostrado en la
figura.

21

16/02/2014

Descripcin de las funciones del protocolo

Funcin 0:
Esta funcin permite ejecutar rdenes de control, tales
como marcha, paro, carga y lectura de programas de
usuario del autmata. Para codificar cada una de las citadas
rdenes se emplean los cuatro primeros bytes del campo
de datos.
En caso de las rdenes de marcha y paro, el campo de
informacin de la trama representada en la figura 3 est
vaco y, por tanto, el mensaje se compone simplemente de
6 bytes de funcin ms 2 bytes de CRC. La respuesta del
esclavo a estas rdenes es un mensaje idntico al enviado
por el maestro. Cabe sealar, adems, que despus de un
paro el autmata slo acepta ejecutar subfunciones de la
funcin 00H.

22

16/02/2014

Funcin 0:

23

16/02/2014

Funciones 1 y 2:
Lectura de bits del autmata. La trama es la
indicada en la figura 4. La forma de
direccionamiento de los bits es a base de dar
la direccin de la palabra que los contiene y
luego la posicin del bit. Obsrvese tambin
que la respuesta es dada siempre en octetos
completos.

24

16/02/2014

Funciones 3 y 4:
Lectura de palabras del autmata. La trama es
la indicada en la figura 5. Obsrvese que la
peticin indica el nmero de palabras a leer,
mientras que en la respuesta se indica el
nmero de octetos ledos.

25

16/02/2014

Funcin 5:
Escritura de un bit. La trama es la indiada en la
figura 6. El direccionamiento del bit se efecta
tal como se ha indicado para las funciones 1 y 2.

26

16/02/2014

Funcin 6:
Escritura de una palabra. La trama es la
indicada en la figura 7.

MINIVIDEO2

27

16/02/2014

Funcin 7:
Peticin de lectura rpida de un octeto. La
trama es la mostrada en la figura 8. Obsrvese
que la peticin no tiene campo de direccin,
esto es debido a que el octeto legible por esta
funcin es fijo en cada esclavo y viene fijado en
su configuracin.

28

16/02/2014

Funcin 8:
Peticin del contenido y control de los 8
primeros contadores de diagnstico de un
esclavo (vase tabla 3). Las tramas de peticin
y respuesta pueden verse en la figura 9.

29

16/02/2014

Funcin 8:

30

16/02/2014

Funcin 11:
La peticin del contenido del contador de
diagnstico nmero 9, no se realiza por la
funcin 8, sino por la funcin 11. Las tramas
de peticin y respuestas son las indicadas por
la figura 10.

31

16/02/2014

Funcin 15:
Escritura de bits del autmata. La trama es la
indicada en la figura 11. La forma de
direccionamiento es anloga a la indicada para
las funciones 1 y 2.

32

16/02/2014

Funcin 16:
Escritura de palabras del autmata. La trama
es la indicada en la figura 12.

33

16/02/2014

Mensajes de error:
Puede ocurrir que un mensaje se interrumpa antes de
terminar. Cada esclavo interpreta que el mensaje ha
terminado si transcurre un tiempo de silencio
equivalente a 3,5 caracteres. Despus de este tiempo
el esclavo considera que el carcter siguiente es el
campo de direccin de esclavo de un nuevo mensaje.
Cuando un esclavo recibe una trama incompleta o
errnea desde el punto de vista lgico, enva un
mensaje de error como respuesta, excepto en el caso
de mensajes de difusin. La trama del mensaje de error
es la indicada en al figura 13.

34

16/02/2014

Mensajes de error:

Si la estacin maestra no recibe respuesta de un esclavo


durante un tiempo superior a un lmite establecido,
declara el esclavo fuera de servicio, a pesar de que al
cabo de un cierto nmero de ciclos hace nuevos
intentos de conexin.

35

16/02/2014

36

16/02/2014

PROTOCOLO HART

http://datateca.unad.edu.co/contenidos/2150513/Contenidolinea/leccin_39_protocolo_hart.html

37

Potrebbero piacerti anche