Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Protocolo Modbus
Protocolo Modbus
Comunicaciones Industriales
3 Protocolo
1 Introduccin
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). 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.
:
(3AH)
N
Esclavo
(00-3FH)
Cdigo
de
Operacin
Subfunciones, Datos
LRC(16)
H L
CR
(0DH)
LF
(0AH)
Codificacin ASCII
N
Esclavo
(00-3FH)
Cdigo
de
Operacin
Subfunciones, Datos
CRC(P16)
H L
Codificacin RTU
2 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, BC 0-20mA 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.
Acceso al Medio
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):
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.
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.
Pg. 1
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.
Pg. 2
Comunicaciones Industriales
Comunicaciones Industriales
Cdigo
subfuncin
Cdigo
0
1
2
3
4
5
6
7
8
00H
01H
02H
03H
04H
05H
06H
07H
08H
9
10
11
09H
0AH
0B H
12
13
14
15
16
0CH
0DH
0EH
0FH
10H
Tarea
Control de estaciones esclavas
Lectura de n bits de salida o internos
Lectura de n bits de entradas
Lectura de n palabras de salidas o internos
Lectura de n palabras de entradas
Escritura de un bit
Escritura de una palabra
Lectura rpida de 8 bits
Control de contadores de diagnsticos
nmero 1 a 8
No utilizado
No utilizado
Control del contador de diagnsticos
nmero 9
No utilizado
No utilizado
No utilizado
Escritura de n bits
Escritura de n palabras
0 INDEX
FFFFH CRC
Datos
subfuncin
Tarea
SF0 SF1 D0 D1
00H 00H 00H 00H
00H
01H
00H
00H
00H
02H
00H
00H
00H
03H
00H
00H
04H
0 N
NO
CARRY = 1
Funciones 1 y 2:
CRC XOR A001H CRC
N+1=N
NO
N>7
INDEX+1=INDEX
N
Esclavo
(00-3FH)
NO
01H
o
02H
Direccin
er
1 Bit
PP PB
N de
Bits
NN NN
CRC
H L
PPP = Direccin de la palabra (hex), B= Direccin del bit dentro de la palabra 0 a FH.
3.1
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. La trama resultante
es la representada en la figura 3 y la interpretacin de los cdigos de subfuncin se
especifica en la tabla 2.
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.
N
Esclavo
(00-3FH)
00H
Cdigo
Subfuncin
SF0 SF1
Datos
Subfuncin
D0 D1
01H
o
02H
N Octetos
ledos
NN NN
er
1
Octeto
B7..B0
Otros Octetos
Hasta mx.
256
CRC
H L
03H
o
04H
Direccin
1 Palabra
PP PP
N de
Palabras
NN NN
CRC
H L
N
Esclavo
(00-3FH)
CRC(16)
H L
Figura 3. Trama genrica de las subfunciones de control de esclavos (cd. funcin 00H)
N
Esclavo
(00-3FH)
Pg. 3
03H
o
04H
N Octetos
ledos
NN NN
er
1
Palabra
H L
Otras Palabras
Hasta mx. 128
H L,H L,HL,...
CRC
H L
Pg. 4
Comunicaciones Industriales
Comunicaciones Industriales
Funcin 5:
Direccin
Bit
PP PB
05H
00H
N
Esclavo
(00-3FH)
CRC
H L
Direccin
Bit
PP PB
XXH
00H
CRC
H L
06H
08H
Cdigo
Subfuncin
SF0 SF1
Valor
Palabra
DD DD
CRC
H L
Direccin
Palabra
PP PP
06H
N de
Palabras
DD DD
CRC
H L
Valor
Octeto
DD
0BH
CRC
H L
N
Esclavo
(00-3FH)
N
Esclavo
(00-3FH)
CRC
H L
Funcin 11:
Funcin 7:
07H
Valor
Contador
H L
CRC
H L
N
Esclavo
(00-3FH)
CRC
H L
Tabla 3
Dato
Subfuncin
D0 D1
Subfuncin
Datos
Tarea
N
Cdigo D0 D1
0 00H 00H XYH ZTH El esclavo enva el eco XYZT de peticin como test.
Modifica el carcter de fin de trama en modo ASCII por
3 00H 03H ZZH 00H
ZZH
10 00H 0AH 00H 00H Puesta a cero de los contadores
11 00H 0BH 00H 00H Lectura del contador 1
12 00H 0CH 00H 00H Lectura del contador 1
13 00H 0DH 00H 00H Lectura del contador 1
14 00H 0EH 00H 00H Lectura del contador 1
15 00H 0FH 00H 00H Lectura del contador 1
18 00H 12H 00H 00H Lectura del contador 1
N
Esclavo
(00-3FH)
Cdigo
Subfuncin
SF0 SF1
08H
PPP = Direccin de la palabra (hex), B= Direccin del bit dentro de la palabra 0 a FH.
N
Esclavo
(00-3FH)
N
Esclavo
(00-3FH)
CRC
H L
0BH
00
00
Valor
Contador
H L
CRC
H L
Funcin 15:
Pg. 5
Pg. 6
Comunicaciones Industriales
Peticin maestro
N
Esclavo
(00-3FH)
0FH
3.2
Direccin
er
1 Bit
PP PB
N de
Bits
NN NN
N de
Octetos
M
Valor de
los bits
8xM valores
CRC
H L
0FH
Direccin
er
1 Bit
PP PB
N de
Bits
NN NN
CRC
H L
4.1
N de
Palabras
NN NN
N de
Octetos
M
Valor de
las palabras
HL, HL, ...
CRC
H L
10H
Direccin
1 Palabra
PP PP
N de
Palabras
NN NN
4.2
CRC
H L
Mensajes de error:
Puede ocurrir que un mensaje se interrumpa antes de terminar. Cada esclavo interpreta
que el menaje 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.
Respuesta del esclavo
N
Esclavo
(00-3FH)
JBUS
JBUS es una designacin utilizada por la firma APRIL para un bus propio que presenta
gran similitud con MODBUS, con protocolos prcticamente idnticos.
Peticin maestro
10FH
Nivel de aplicacin
4 Variantes de MODBUS
Funcin 16:
N
Esclavo
(00-3FH)
Comunicaciones Industriales
Cdigo
Cdigo
Funcin
Error
CRC
H L
El nmero de esclavo para JBUS (1er byte de la trama) permite valores que van del
01H hasta el FFH. Permite, por tanto, direccionar 255 esclavos en vez de 63. El
nmero 00H se reserva igualmente para mensajes difundidos.
Las funciones disponibles son prcticamente las mismas en ambos protocolos, pero
algunos cdigos de funcin (2 byte de la trama) y de las subfunciones no
coinciden.
Funcin
1
2
3
Pg. 7
4
5
6
7
15
16
Cdigo
Tarea
01H
Lectura de n bits de salida o internos
02H
Lectura de n bits de entradas
03H
Lectura de n palabras de salidas o
internos
04H
Lectura de n palabras de entradas
05H
Escritura de un bit
06H
Escritura de una palabra
07H
Lectura rpida de 8 bits
0FH Escritura de n bits
10H
Escritura de n palabras
Pg. 8
Comunicaciones Industriales
4.3
MODBUS TCP/IP
MODBUS TCP/IP es una variante o extensin del protocolo Modbus que permite
utilizarlo sobre la capa de transporte TCP/IP. De este modo, Modbus-TCP se puede
utilizar en Internet, de hecho, este fue uno de los objetivos que motiv su desarrollo (la
especificacin del protocolo se ha remitido a la IETF=Internet Engineering Task Force).
En la prctica, un dispositivo instalado en Europa podra ser direccionado desde EEUU
o cualquier otra parte del mundo.
Las ventajas para los instaladores o empresas de automatizacin son innumerables:
Realizar reparaciones o mantenimiento remoto desde la oficina utilizando un PC,
reduciendo as los costes y mejorando el servicio al cliente.
El ingeniero de mantenimiento puede entrar al sistema de control de la planta desde
su casa, evitando desplazamientos.
Permite realizar la gestin de sistemas distribuidos geogrficamente mediante el
empleo de las tecnologas de Internet/Intranet actualmente disponibles.
MODBUS TCP/IP se ha convertido en un estndar industrial de facto debido a su
simplicidad, bajo coste, necesidades mnimas en cuanto a componentes de hardware, y
sobre todo a que se trata de un protocolo abierto.
En la actualidad hay cientos de dispositivos MODBUS TCP/IP disponibles en el
mercado. Se emplea para intercambiar informacin entre dispositivos, as como
monitorizarlos y gestionarlos. Tambin se emplea para la gestin de entradas/salidas
distribuidas, siendo el protocolo ms popular entre los fabricantes de este tipo de
componentes.
La combinacin de una red fsica verstil y escalable como Ethernet con el estndar
universal de interredes TCP/IP y una representacin de datos independiente de
fabricante, como MODBUS, proporciona una red abierta y accesible para el
intercambio de datos de proceso.
El protocolo Modbus TCP
Modbus/TCP simplemente encapsula una trama Modbus en un segmento TCP. TCP
proporciona un servicio orientado a conexin fiable, lo que significa que toda consulta
espera una respuesta.
Comunicaciones Industriales
Pg. 9
Pg. 10