You are on page 1of 8

Modbus_Application_Protocol_V1_1b3

1 INTRODUCCION
1. ALCANCE DE ESTE DOCUMENTO
Modbus es un protocolo de mensajera capa de aplicacin, posicionado en el nivel 7 del modelo OSI,
que proporciona la comunicacin cliente / servidor entre dispositivos conectados a diferentes tipos de
buses o redes.
Serie estndar de la industria de facto desde 1979, MODBUS contina permitiendo a millones de
dispositivos de automatizacin para comunicarse. Hoy en da, el apoyo a la estructura simple y
elegante de MODBUS sigue creciendo. La comunidad de Internet puede acceder a MODBUS en un
puerto del sistema reservado 502 en la pila TCP / IP.
MODBUS es una solicitud / respuesta servicios de protocolo y ofertas especificados por cdigos de
funcin.
Cdigos de funcin MODBUS son elementos de la peticin MODBUS / respuesta PDU. El objetivo
de este documento es describir los cdigos de funcin utilizados en el marco de las transacciones
MODBUS.
Modbus es un protocolo de capa de aplicaciones de mensajera para la comunicacin cliente /
servidor entre dispositivos conectados a diferentes tipos de buses o redes.
Se lleva a cabo actualmente usando:
TCP / IP sobre Ethernet. Consulte la Gua MODBUS mensajera Implementacin V1.0a.
Transmisin en serie asncrona a travs de una variedad de medios de comunicacin (cable:
EIA / TIA-232-E, EIA-422, EIA / TIA-485-A, fibra, radio, etc.)
MODBUS PLUS, una red de paso de testigo de alta velocidad.

Abreviaturas
ADU Unidad Datos de programa
HDLC alto nivel de control de enlace de datos
HMI Human Machine Interface
IETF Internet Engineering Task Force
I / O de entrada / salida
IP Protocolo de Internet IP
MAC Control de Acceso a medios
MB Protocolo MODBUS

3 CONTEXTO
El protocolo MODBUS permite una fcil comunicacin dentro de todos los tipos de red arquitecturas.

Cada tipo de dispositivos (PLC, HMI, Panel de control, conductor, control de movimiento, I O
Dispositivos / ...) puede usar el protocolo MODBUS para iniciar una operacin remota.
La misma comunicacin se puede hacer tambin en lnea en serie como en una red Ethernet de
redes TCP / IP. Gateways permiten una comunicacin entre varios tipos de buses o de red utilizando
el protocolo MODBUS.
4 DESCRIPCIN GENERAL
4.1 DESCRIPCIN DEL PROTOCOLO
El protocolo MODBUS define una unidad de datos de protocolo simple (PDU) independiente de las
capas de comunicacin subyacentes. El mapeo de protocolo MODBUS en autobuses o red
especficos puede introducir algunos campos adicionales en la unidad de datos de la aplicacin
(ADU).

La unidad de datos de aplicacin MODBUS es construido por el cliente que inicia una transaccin
MODBUS.
La funcin indica al servidor qu tipo de accin a realizar. El protocolo de aplicacin MODBUS
establece el formato de una solicitud iniciada por un cliente.
El campo de cdigo de funcin de una unidad de datos MODBUS se codifica en un byte. Los cdigos
vlidos estn en el rango de 1 ... 255 decimal (el rango de 128 a 255 est reservado y se utiliza para

respuestas de excepcin). Cuando se enva un mensaje de f rom de un cliente a un dispositivo de


servidor el campo de cdigo de funcin le indica al servidor qu tipo de accin a realizar. Cdigo de
la funcin "0" no es vlido.
Cdigos Sub-funcin se aaden a algunos cdigos de funcin para definir mltiples acciones.
El campo de datos de los mensajes enviados desde un cliente a dispositivos de servidor contiene
informacin adicional que el servidor utiliza para tomar la accin definida por el cdigo de funcin.
Esto puede incluir elementos como direcciones discretas y registrar, la cantidad de temas que se
maneja, y el recuento de bytes de datos reales en el campo.
El campo de datos puede ser inexistente (de longitud cero) en ciertos tipos de solicitudes, en este
caso el servidor no requiere ninguna informacin adicional. El cdigo de funcin solo especifica la
accin.
Si no se produce ningn error relacionado con la funcin MODBUS solicitado en un MODBUS ADU
campo los datos correctamente recibido de una respuesta de un servidor a un cliente contiene los
datos solicitados. Si un error relacionado con la funcin MODBUS pidi ocurre, el campo contiene un
cdigo de excepcin que la aplicacin de servidor puede utilizar para determinar la siguiente accin a
tomar.
Por ejemplo, un cliente puede leer los estados ON / OFF de un grupo de salidas discretas o insumos
o se puede leer / escribir el contenido de datos de un grupo de registros.
Cuando el servidor responde al cliente, utiliza el campo de cdigo de funcin para indicar una
respuesta normal (libre de errores) o que algn tipo de error ocurri (llamado una excepcin
respuesta). Para una respuesta normal, el servidor simplemente se hace eco a la solicitud el original
cdigo de funcin.

Para una respuesta de excepcin, el servidor devuelve un cdigo que es equivalente a la funcin
original cdigo de la PDU peticin con su bit ms significativo ajustado a 1 lgico.

El tamao de la PDU MODBUS est limitado por la restriccin de tamao heredado de la primera
aplicacin MODBUS en red de lnea serie (mx. RS485 ADU = 256 bytes).
Por lo tanto:
MODBUS PDU para la comunicacin de lnea serie = 256 - Direccin del servidor (1 byte) - CRC
(2 bytes) = 253 bytes.
En consecuencia:
RS232 / RS485 ADU = 253 bytes + Direccin del servidor (1 byte) + CRC (2 bytes) = 256 bytes.
TCP MODBUS ADU = 253 bytes + MBAP (7 bytes) = 260 bytes.
El protocolo MODBUS define tres PDU. Ellos son:

MODBUS Solicitud PDU, mb_req_pdu


MODBUS PDU de respuesta, mb_rsp_pdu
MODBUS Excepcin Respuesta PDU, mb_excep_rsp_pdu

The mb_req_pdu is defined as:


mb_req_pdu = {function_code, request_data}, where
function_code = [1 byte] MODBUS function code,
request_data = [n bytes] This field is function code dependent and usually contains
information such as variable references, variable counts, data
offsets, sub-function codes etc.
The mb_rsp_pdu is defined as:
mb_rsp_pdu = {function_code, response_data}, where
function_code = [1 byte] MODBUS function code
response_data = [n bytes]
This field is function code dependent and usually
contains information such as variable references, variable
counts, data offsets, sub-function codes, etc.
The mb_excep_rsp_pdu is defined as:
mb_excep_rsp_pdu = {exception-function_code, request_data}, where
exception-function_code = [1 byte] MODBUS function code + 0x80
exception_code = [1 byte]
MODBUS Exception Code Defined in table
"MODBUS Exception Codes" (see section 7 ).

4.2 Codificacin de Datos


MODBUS usa una representacin "big-endian" para direcciones y elementos de datos. Esto
significa que cuando se transmite una cantidad numrica mayor que un solo byte, el byte ms
significativo se enva primero. As, por ejemplo,

HASTA AQUI

4.3 Modelo MODBUS datos


MODBUS basa su modelo de datos en una serie de tablas que tienen caractersticas distintivas.
Las cuatro tablas principales son:

Las distinciones entre entradas y salidas, y entre los bits -addressable y datos wordaddressable
artculos, no implican ningn comportamiento de la aplicacin. Es perfectamente aceptable, y muy
comn, a considerar las cuatro mesas como superponiendo unos a los otros, si esta es la
interpretacin ms natural en el equipo de destino en cuestin.
Para cada una de las tablas principales, el protocolo permite la seleccin individual de 65.536
elementos de datos, y las operaciones de lectura o escritura de esos artculos estn diseados para
abarcar varios elementos de datos consecutivos hasta un lmite de tamao de datos que es
dependiente de el cdigo de funcin de transaccin.
Es evidente que todos los datos que se manejan a travs de MODBUS (bits, registros) deben estar
ubicados en memoria de la aplicacin del dispositivo. Pero direccin fsica en la memoria no se debe
confundir con referencia datos. El nico requisito es vincular referencia de datos con direccin fsica.
Los nmeros de referencia lgico MODBUS, que se utilizan en los iones func MODBUS, son ndices
enteros sin signo a partir de cero.
Los ejemplos siguientes muestran dos maneras de organizar los datos en el dispositivo. Hay
diferentes organizaciones posibles, pero no todos se describen en este documento. Cada de vicio
puede tener su propia organizacin de los datos de acuerdo a su aplicacin
Ejemplo 1: El dispositivo tiene 4 bloques separados
El siguiente ejemplo muestra la organizacin de datos en un dispositivo que tenga digitales y
analgicas, entradas y salidas. Cada bloque est separado porque los datos de los diferentes
bloques no tienen correlacin. Cada bloque es accesible de esta forma con diferentes funciones
MODBUS.

Ejemplo 2: El dispositivo tiene slo 1 cuadra

En este ejemplo, el dispositivo tiene slo 1 bloque de datos. Los mismos datos se puede llegar a
travs de varias funciones MODBUS, ya sea a travs de un acceso de 16 bits o mediante un bit de
acceso.

4.4 MODBUS modelo Dirigindose


El protocolo de aplicacin MODBUS define precisamente abordar PDU reglas.
En un MODBUS PDU cada dato se aborda desde 0 a 65535.
Tambin define claramente un modelo de datos MODBUS compuesto por 4 bloques que comprende
varios elementos numerados de 1 a n.
En el modelo de datos MODBUS cada elemento dentro de un bloque de datos se numeran del 1 al n.
Despus, el modelo de datos MODBUS tiene que estar ligado a la aplicacin del dispositivo (IEC61131 objeto, u otro modelo de aplicacin).
El pre-asignacin entre el modelo de datos MODBUS y la aplicacin del dispositivo es especfica
dispositivo totalmente vendedor.

La figura anterior muestra que una X de datos MODBUS numerada se aborda en el MODBUS PDU
X-1.
4.5 Definir Transaccin MODBUS
El diagrama de estado siguiente describe el procesamiento genrico de una transaccin MODBUS
en el lado del servidor.

Una vez que la solicitud ha sido procesada por un servidor, una respuesta MODBUS utilizando el
adecuada transaccin servidor MODBUS se construye.
Dependiendo del resultado del procesamiento dos tipos de respuesta se construyen:
digo de funcin de respuesta = el cdigo de funcin de peticin

proceso;
excepcin = cdigo de funcin de peticin + 0x80;

5 Cdigo de Funcin Categoras


Hay tres categoras de cdigos Funciones Modbus. Ellos son:
Cdigos de Funcin Pblica
cdigos de funcin bien definida,

igos de funcin
sin asignar reservados para uso futuro.
Cdigos de funcin definidas por el usuario
decimal.
uncin que no sea compatible con la
especificacin.

iniciar un RFC para introducir el cambio en la categora de pblico y tener un nuevo cdigo de
funcin pblica asignada.
Cdigos de funcin Reservados

ualmente por algunas empresas de productos antiguos y que no


estn disponibles para el uso pblico.
CDIGOS DE FUNCIN, subcdigos Y TIPOS MEI.

You might also like