Protocolo Modbus
Prof. Francisco Luna Mora.
MODBUS Modbus fue introducido en 1979 por la compañía Modicon, que era líder en el mercado incipiente de controladores lógicos programables PL!". #u ob$eti%o era ser el protocolo interno de comunicación punto&a&punto, el intermedio entre los PL!s de Modicon ' los paneles de programación que se usaban para programar controladores. (ste protocolo sigue prosperando porque es de f)cil comprensión, ' por ello *a sido utili+ado por muc*os ingenieros para e$ercitarse en protocolos. dem)s, es un sistema abierto y se puede utilizar sin pagar royalties. -o se limita a la automati+ación industrial de *ec*o se puede encontrar en numerosos sectores de automati+ación, inclu'endo la de edificios.
Descripción general MODBUS M/02# funciona siempre en modo maestro& escla%o cliente & ser%idor", siendo el maestro cliente" quien controla en todo momento las comunicaciones con los escla%os que pueden ser *asta 347 0irección 1 a 347" . Los escla%os ser%idores" se limitan a retornar los datos solicitados o a e$ecutar la acción indicada por el maestro. La comunicación del maestro *acia los escla%os puede ser de dos tipos.
Descripción general MODBUS peer to peer 5 en que se establece comunicación maestro & escla%o, el maestro solicita información ' el escla%o responde. #e en%ía el comando a un dispositi%o comprendido entre las direcciones 1 a 347. broadcast5 en que se establece comunicación maestro & todos los escla%os, el maestro en%ía un comando a todos los escla%os de la red sin esperar respuesta, se en%ía a la dirección 6.
Descripción general MODBUS
Descripción general MODBUS #e pueden establecer comunicaciones en redes est)ndar Modbus utili+ando cualquiera de estos dos modos de transmisión5 #! o 82. Los usuarios seleccionan el modo deseado, $unto con los par)metros de comunicación del puerto serie %elocidad de transmisión en baudios, modo de paridad, etc.", durante la configuración de cada controlador. (l modo ' los par)metros del puerto serie tienen que ser los mismos para todos dispositi%os en una red Modbus.
Descripción general MODBUS La selección de modo #! o 82 es solamente para redes est)ndar Modbus. 0efine los contenidos de los campos del mensa$e serie transmitido por la red. 0etermina como estar) empaquetada la información en los campos de código ' mensa$e. (n otras redes como MP ' Modbus Plus, los mensa$es de Modbus est)n embebidos dentro de la trama ' no est)n relacionados con la transmisión serie.
MODBUS ASCII !uando los controladores se configuran para comunicar en una red Modbus utili+ando modo #! !ódigo (st)ndar mericano para ntercambio de nformación", cada b'te, de : bits, de un mensa$e se en%ía como dos caracteres #!. La %enta$a principal de este modo es que permite intervalos de tiempo de hasta un segundo entre caracteres sin causar error.
MODBUS ASCII Sistema de Codificación: ;e
MODBUS "#U !uando los controladores se configuran para comunicar en una red Modbus utili+ando modo 82 2nidad de erminal 8emota", cada b'te, : bits, del mensa$e contiene dos caracteres *e
MODBUS "#U Sistema de Codificación : bits binarios, *e
MODBUS ASCII v&s "#U
#rama Mod'us #"AMA ASCII
#"AMA "#U
!omo se usa el !ampo de 0irección (l campo dirección de un mensa$e contiene dos caracteres (ASCII) u ocho bits (RTU). Las direcciones %)lidas para dispositi%os escla%os est)n en el rango de 6&347 decimal. Los dispositi%os escla%os indi%iduales tienen asignadas direcciones en el rango de 1&347. (l maestro se dirige a un escla%o poniendo su dirección en el !ampo 0irección del mensa$e. !uando el escla%o en%ía su respuesta, coloca su propia dirección en el !ampo 0irección de la respuesta para permitir al maestro reconocer al escla%o que est) respondiendo. La dirección 0 se utiliza para Consulta General la cual todos los dispositi!os escla!os reconocen
!omo se usa el código de operación (l campo !ódigo de /peración del formato de mensa$e contiene dos caracteres #!" u oc*o bits 82". Los códi"os !#lidos est#n en el ran"o de $%&'' decial. !uando se en%ía un mensa$e desde un maestro a un dispositi%o escla%o el campo de !ódigo de /peración dice al escla%o qu> la clase de acción debe reali+ar. !uando el escla%o responde al maestro, utili+a el campo de código de operación para indicar que es una respuesta normal libre de error" o que *a ocurrido alg?n tipo de error respuesta de e
!omo se usa el código de operación Por e$emplo, un mensa$e de maestro a escla%o para leer un grupo de registros internos tendría el siguiente código de operación5 6666 6611 ;e
!ontenido del !ampo de 0atos (l campo de información se constru'e utili+ando con$untos de dos dígitos *e
!ontenido del !ampo de 0atos
Por e$emplo, en la solicitud de un maestro a un escla%o para leer un grupo de registro internos código de operación 6@", el !ampo de 0atos especifica el registro inicial ' cuantos registros se quieren leer.
!ontenidos del !ampo de !omprobación de (rror
(n las redes est)ndar Modbus se utili+an dos clases de m>todo de comprobación de error. Los contenidos de campo de comprobación de error dependen del m>todo que se *a'a utili+ado.
!ontenidos del !ampo de !omprobación de (rror #! !uando se utili+a formato #!, el campo de comprobación de error contiene dos caracteres #!. Los caracteres de control de error son el resultado de un c)lculo de 8edundancia Longitudinal L8!" basado en el contenido del mensa$e, e
!ontenidos del !ampo de !omprobación de (rror
82 !uando se utili+a formato 82, el campo de comprobación de error contiene un %alor de 1B bits formado por dos b'tes de : bits. (l %alor de control de error es el resultado de un c)lculo de !ontrol de 8edundancia !íclica basado en el contenido del mensa$e.
!omo se ransmiten los !aracteres #erie !uando se transmiten mensa$es en redes est)ndar Modbus serie, cada car)cter o b'te se en%ía con el siguiente orden de i+quierda a derec*a" 5 it Menos #ignificati%o L#" ....... it Mas #ignificati%o M#" Orden de 'its ASCII
Orden de 'its "#U
ablas de configuración PL! Cido
)!!" * BI#S
)!!" * +A)AB"AS
!SC"I#U"A D! U* BI#
!SC"I#U"A D! U*A +A)AB"A
!SC"I#U"A D! * BI#S
!SC"I#U"A D! * +A)AB"AS