{"id":30150,"date":"2024-11-30T02:57:00","date_gmt":"2024-11-30T08:57:00","guid":{"rendered":"https:\/\/www.logicbus.com.mx\/blog\/?p=30150"},"modified":"2026-02-03T11:13:06","modified_gmt":"2026-02-03T17:13:06","slug":"modbus-tcp-ip","status":"publish","type":"post","link":"https:\/\/www.logicbus.com.mx\/blog\/modbus-tcp-ip\/","title":{"rendered":"Protocolos de comunicaci\u00f3n: MODBUS TCP\/IP"},"content":{"rendered":"<p style=\"text-align: justify;\">MODBUS TCP\/IP es una variante de la familia MODBUS de protocolos de comunicaci\u00f3n simples y neutrales para la supervisi\u00f3n y el control de equipos de automatizaci\u00f3n. Espec\u00edficamente, cubre el uso de la mensajer\u00eda <a href=\"https:\/\/www.logicbus.com.mx\/blog\/analizando-modbus-rtu\/\">MODBUS<\/a> en un entorno &#8216;Intranet&#8217; o &#8216;Internet&#8217; utilizando los protocolos TCP\/IP. El uso m\u00e1s com\u00fan de los protocolos en este momento es para la conexi\u00f3n Ethernet de <a title=\"PLC's by Logicbus\" href=\"https:\/\/tienda.logicbus.com.mx\/automatizacion-y-control-de-procesos-plc\" target=\"_blank\" rel=\"noopener noreferrer\"><span style=\"color: #ff6600;\">PLC&#8217;s<\/span><\/a>, m\u00f3dulos de E\/S y &#8220;puertas de enlace&#8221; a otros buses de campo o redes de E\/S simples.<\/p>\n<p style=\"text-align: justify;\">El protocolo MODBUS TCP\/IP se est\u00e1 publicando como un est\u00e1ndar de automatizaci\u00f3n (&#8216;de facto&#8217;). Dado que MODBUS ya es ampliamente conocido, debe haber poca informaci\u00f3n en este documento que no pueda obtenerse en otro lugar. Sin embargo, se ha intentado aclarar qu\u00e9 funciones dentro de MODBUS tienen valor para la interoperabilidad de los equipos de automatizaci\u00f3n generales y qu\u00e9 partes son &#8220;equipaje&#8221; del uso alternativo de MODBUS como protocolo de programaci\u00f3n para <a href=\"https:\/\/www.logicbus.com.mx\/blog\/plcs-controllino-su-origen-y-sus-multiples-aplicaciones\/\">PLC.<\/a><\/p>\n<p style=\"text-align: justify;\">Esto se hace a continuaci\u00f3n agrupando los tipos de mensajes admitidos en &#8220;clases de conformidad&#8221; que diferencian entre los mensajes que se implementan universalmente y los opcionales, en particular los espec\u00edficos de dispositivos como los PLC.<\/p>\n<p><iframe loading=\"lazy\" id=\"iFrameResizer0\" src=\"https:\/\/www.youtube.com\/embed\/E1nsgukeKKA?rel=0\" width=\"640\" height=\"480\" frameborder=\"0\" scrolling=\"no\" allowfullscreen=\"allowfullscreen\" data-mce-fragment=\"1\"><\/iframe><\/p>\n<h2 style=\"text-align: justify;\"><strong>Orientado a la conexi\u00f3n<\/strong><\/h2>\n<p style=\"text-align: justify;\">En MODBUS, las transacciones de datos son tradicionalmente sin estado, lo que las hace altamente resistentes a las interrupciones del ruido y, sin embargo, requieren que se mantenga una m\u00ednima informaci\u00f3n de recuperaci\u00f3n en cada extremo.<\/p>\n<p style=\"text-align: justify;\">Las operaciones de programaci\u00f3n, por otro lado, esperan un enfoque orientado a la conexi\u00f3n.\u00a0Esto se logr\u00f3 en las variantes m\u00e1s simples mediante un token exclusivo de &#8220;inicio de sesi\u00f3n&#8221;, y en la variante MODBUS Plus por las capacidades expl\u00edcitas de &#8220;Ruta del programa&#8221; que mantuvieron una asociaci\u00f3n d\u00faplex hasta que se desglosaron expl\u00edcitamente.<\/p>\n<p style=\"text-align: justify;\">MODBUS TCP\/IP maneja ambas situaciones. Una conexi\u00f3n es f\u00e1cilmente reconocible a nivel de <a title=\"Protocolos by Logicbus\" href=\"https:\/\/www.logicbus.com.mx\/convertidores-protocolos.php\" target=\"_blank\" rel=\"noopener noreferrer\"><span style=\"color: #ff6600;\">protocolo<\/span><\/a>, y una sola conexi\u00f3n puede llevar m\u00faltiples transacciones independientes. Adem\u00e1s, TCP\/IP permite un gran n\u00famero de conexiones simult\u00e1neas, por lo que en la mayor\u00eda de los casos es la elecci\u00f3n del iniciador si se vuelve a conectar seg\u00fan sea necesario o se reutiliza una conexi\u00f3n de larga duraci\u00f3n.<\/p>\n<p style=\"text-align: justify;\">Los desarrolladores familiarizados con MODBUS pueden preguntarse por qu\u00e9 se usa el protocolo TCP\/IP orientado a la conexi\u00f3n en lugar del UDP orientado a datagramas. La raz\u00f3n principal es mantener el control de una &#8216;transacci\u00f3n&#8217; individual encerr\u00e1ndola en una conexi\u00f3n que pueda ser identificada, supervisada y cancelada sin requerir una acci\u00f3n espec\u00edfica por parte de las aplicaciones del cliente y del servidor. Esto le da al mecanismo una amplia tolerancia a los cambios en el rendimiento de la red, y permite que se agreguen f\u00e1cilmente caracter\u00edsticas de seguridad como cortafuegos y servidores proxy. Los desarrolladores originales de la World Wide Web utilizaron un razonamiento similar cuando optaron por implementar una consulta web m\u00ednima como una sola transacci\u00f3n utilizando TCP\/IP en el conocido puerto 80\u00b4s.<\/p>\n<h2 style=\"text-align: justify;\"><strong>Codificaci\u00f3n de datos<\/strong><\/h2>\n<p style=\"text-align: justify;\">MODBUS utiliza una representaci\u00f3n &#8216;<a href=\"https:\/\/es.wikipedia.org\/wiki\/Endianness\" target=\"_blank\" rel=\"noopener noreferrer\"><span style=\"color: #ff6600;\">big-endian<\/span><\/a>&#8216; para direcciones y elementos de datos.\u00a0Esto significa que cuando se transmite una cantidad num\u00e9rica mayor que un solo byte, el byte M\u00c1S significativo se env\u00eda primero.\u00a0As\u00ed por ejemplo:<\/p>\n<table class=\"details\">\n<tbody>\n<tr>\n<td><b>16 bits<\/b><\/td>\n<td><b>0x1234<\/b><\/td>\n<td><b>ser\u00eda<\/b><\/td>\n<td><b>0x12<\/b><\/td>\n<td><b>0x34<\/b><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td><b>32 bits<\/b><\/td>\n<td><b>0x12345678L<\/b><\/td>\n<td><b>ser\u00eda<\/b><\/td>\n<td><b>0x12<\/b><\/td>\n<td><b>0x34<\/b><\/td>\n<td><b>0x56<\/b><\/td>\n<td><b>0x78<\/b><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2 style=\"text-align: justify;\"><strong>Interpretaci\u00f3n de n\u00fameros de referencia<\/strong><\/h2>\n<p style=\"text-align: justify;\">MODBUS basa su modelo de datos en una serie de tablas que tienen caracter\u00edsticas distintivas.\u00a0Las cuatro tablas primarias son<\/p>\n<table class=\"details\">\n<tbody>\n<tr>\n<td><b>entrada discreta<\/b><\/td>\n<td>bit \u00fanico, proporcionado por un sistema de E\/S, solo lectura<\/td>\n<\/tr>\n<tr>\n<td><b>salida discreta<\/b><\/td>\n<td>bit \u00fanico, alterable por un programa de aplicaci\u00f3n, lectura-escritura<\/td>\n<\/tr>\n<tr>\n<td><b>registros de entrada<\/b><\/td>\n<td>Cantidad de 16 bits, proporcionada por un sistema de E\/S, solo lectura<\/td>\n<\/tr>\n<tr>\n<td><b>registros de salida<\/b><\/td>\n<td>Cantidad de 16 bits, modificable por un programa de aplicaci\u00f3n, lectura-escritura<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p style=\"text-align: justify;\">La distinci\u00f3n entre entradas y salidas, y entre elementos de datos direccionables por bit y direccionables por palabra, no implica ning\u00fan comportamiento de la aplicaci\u00f3n.\u00a0Es perfectamente aceptable, y muy com\u00fan, considerar que las cuatro tablas se superponen entre s\u00ed, si esta es la interpretaci\u00f3n m\u00e1s natural en la m\u00e1quina de destino en cuesti\u00f3n.<\/p>\n<p style=\"text-align: justify;\">Para cada una de las tablas primarias, el protocolo permite la selecci\u00f3n individual de 65536 elementos de datos, y las operaciones de lectura o escritura de esos elementos est\u00e1n dise\u00f1adas para abarcar varios elementos de datos consecutivos hasta un l\u00edmite de tama\u00f1o de datos que depende del c\u00f3digo de funci\u00f3n de transacci\u00f3n.<\/p>\n<p style=\"text-align: justify;\">No se supone que los elementos de datos representan una verdadera matriz contigua de datos, aunque esa es la interpretaci\u00f3n utilizada por la mayor\u00eda de los PLC simples.<\/p>\n<p style=\"text-align: justify;\">Los c\u00f3digos de funci\u00f3n de &#8216;lectura y escritura de referencia general&#8217; est\u00e1n definidos para llevar un n\u00famero de referencia de 32 bits, y podr\u00edan usarse para permitir el acceso directo a los elementos de datos dentro de un espacio MUY grande.\u00a0Hoy en d\u00eda no hay dispositivos <a title=\"PLC's by Logicbus\" href=\"https:\/\/tienda.logicbus.com.mx\/PLC_c_2794.html\"><span style=\"color: #ff6600;\">PLC<\/span><\/a> que aprovechen eso.<\/p>\n<p style=\"text-align: justify;\">Una posible fuente de confusi\u00f3n es la relaci\u00f3n entre los n\u00fameros de referencia utilizados en las funciones MODBUS y los &#8216;n\u00fameros de registro&#8217; utilizados en los PLC Modicon.\u00a0Por razones hist\u00f3ricas, los n\u00fameros de referencia del usuario se expresaron como n\u00fameros decimales con un desplazamiento inicial de 1. Sin embargo, MODBUS utiliza la interpretaci\u00f3n m\u00e1s natural del software de un \u00edndice entero sin signo que comienza en cero.<\/p>\n<p style=\"text-align: justify;\">Por lo tanto, un mensaje MODBUS que solicite la lectura de un registro en el desplazamiento 0 devolver\u00e1 el valor conocido por el programador de la aplicaci\u00f3n tal como se encuentra en el registro 4: 00001 (tipo de memoria 4 = registro de salida, referencia 00001)<\/p>\n<h2 style=\"text-align: justify;\"><strong>Filosof\u00eda de longitud impl\u00edcita.<\/strong><\/h2>\n<p style=\"text-align: justify;\">Todas las solicitudes y respuestas de MODBUS est\u00e1n dise\u00f1adas de tal manera que el destinatario pueda verificar que un mensaje est\u00e9 completo.\u00a0Para los c\u00f3digos de funci\u00f3n donde la solicitud y la respuesta son de longitud fija, el c\u00f3digo de funci\u00f3n solo es suficiente.\u00a0Para los c\u00f3digos de funci\u00f3n que llevan una cantidad variable de datos en la solicitud o respuesta, la porci\u00f3n de datos estar\u00e1 precedida por un conteo de bytes.<\/p>\n<p style=\"text-align: justify;\">Cuando MODBUS se transmite a trav\u00e9s de TCP \/ IP, la informaci\u00f3n de longitud adicional se incluye en el prefijo para permitir que el destinatario reconozca los l\u00edmites del mensaje, incluso si el mensaje tuvo que dividirse en varios paquetes para su transmisi\u00f3n.\u00a0La existencia de reglas de longitud expl\u00edcitas e impl\u00edcitas, y el uso de un c\u00f3digo de verificaci\u00f3n de error CRC-32 (en Ethernet) da como resultado una posibilidad infinitesimal de corrupci\u00f3n no detectada en un mensaje de solicitud o respuesta.<\/p>\n<h2 style=\"text-align: justify;\"><strong>2. Resumen de la clase de conformidad.<\/strong><\/h2>\n<p style=\"text-align: justify;\">Al definir un nuevo protocolo desde cero, es posible imponer la coherencia de la numeraci\u00f3n y la interpretaci\u00f3n.\u00a0MODBUS por su naturaleza ya se implementa en muchos lugares, y se debe evitar la interrupci\u00f3n de las implementaciones existentes.<\/p>\n<p style=\"text-align: justify;\">Por lo tanto, el conjunto existente de tipos de transacci\u00f3n se ha clasificado en clases de conformidad donde el nivel 0 representa funciones que se implementan universalmente y son totalmente consistentes, y el nivel 2 representa funciones \u00fatiles pero con algunas idiosincrasias.\u00a0Tambi\u00e9n se identifican las funciones del presente conjunto que NO son adecuadas para la interoperabilidad.<\/p>\n<p style=\"text-align: justify;\">Se debe tener en cuenta que las futuras extensiones de este est\u00e1ndar pueden definir c\u00f3digos de funci\u00f3n adicionales para manejar situaciones en las que el est\u00e1ndar de facto existente es deficiente.\u00a0Sin embargo, ser\u00eda enga\u00f1oso que los detalles de dichas extensiones propuestas aparezcan en este documento.\u00a0Siempre ser\u00e1 posible determinar si un dispositivo de destino en particular admite un <a href=\"https:\/\/www.logicbus.com.mx\/blog\/codigo-de-colores-de-resistencias\/\">c\u00f3digo<\/a> de funci\u00f3n en particular envi\u00e1ndolo de forma &#8216;especulativa&#8217; y verificando el tipo de respuesta de excepci\u00f3n, si existe alguna, y este enfoque garantizar\u00e1 la interoperabilidad continua de los dispositivos MODBUS actuales con la introducci\u00f3n de cualquiera de tales extensiones.\u00a0De hecho, esta es la filosof\u00eda que ha conducido a la clasificaci\u00f3n actual del c\u00f3digo de funci\u00f3n.<\/p>\n<h3 style=\"text-align: justify;\"><strong>2.1 Clase 0<\/strong><\/h3>\n<p style=\"text-align: justify;\">Este es el conjunto de funciones m\u00ednimo \u00fatil, tanto para un MAESTRO como para un ESCLAVO.<\/p>\n<p class=\"smalltext-30\" style=\"text-align: justify;\">leer m\u00faltiples registros (fc 3)<br \/>\nescribir m\u00faltiples registros (fc 16)<\/p>\n<h3 style=\"text-align: justify;\"><strong>2.2 Clase 1<\/strong><\/h3>\n<p class=\"smalltext-30\" style=\"text-align: justify;\">bobinas de lectura (fc 1)<br \/>\nlectura de entradas discretas (fc 2)<br \/>\nregistros de entrada de lectura (fc 4)<br \/>\nescritura de bobina (fc 5)<br \/>\nregistro \u00fanico de escritura (fc 6)<br \/>\nlectura de estado de excepci\u00f3n (fc 7)<\/p>\n<p style=\"text-align: justify;\">Esta funci\u00f3n tiene t\u00edpicamente un significado diferente para cada familia de esclavos.<\/p>\n<h3 style=\"text-align: justify;\"><strong>2.3 Clase 2<\/strong><\/h3>\n<p style=\"text-align: justify;\">Estas son las funciones de transferencia de datos necesarias para operaciones de rutina como HMI y supervisi\u00f3n<\/p>\n<p class=\"smalltext-30\" style=\"text-align: justify;\">forzar bobinas m\u00faltiples (fc 15)<br \/>\nleer referencia general (fc 20)<\/p>\n<p class=\"smalltext-60\" style=\"text-align: justify;\">Esta funci\u00f3n tiene la capacidad de manejar m\u00faltiples solicitudes simult\u00e1neas y puede aceptar un n\u00famero de referencia de 32 bits.\u00a0<a href=\"https:\/\/www.logicbus.com.mx\/blog\/plcs-controllino-su-origen-y-sus-multiples-aplicaciones\/\">Los PLC<\/a> 584 y 984 actuales solo usan esta funci\u00f3n para aceptar referencias de tipo 6 (archivos de registro extendido).<\/p>\n<p class=\"smalltext-60\" style=\"text-align: justify;\">Esta funci\u00f3n ser\u00eda la m\u00e1s apropiada de extender para manejar grandes espacios de registro y elementos de datos que actualmente carecen de n\u00fameros de referencia, como las variables &#8216;no ubicadas&#8217;.<\/p>\n<p class=\"smalltext-30\" style=\"text-align: justify;\">escribir referencia general (fc 21)<\/p>\n<p class=\"smalltext-60\" style=\"text-align: justify;\">Esta funci\u00f3n tiene la capacidad de manejar m\u00faltiples solicitudes simult\u00e1neas y puede aceptar un n\u00famero de referencia de 32 bits.\u00a0Los PLC 584 y 984 actuales solo usan esta funci\u00f3n para aceptar referencias de tipo 6 (archivos de registro extendido).<\/p>\n<p class=\"smalltext-60\" style=\"text-align: justify;\">Esta funci\u00f3n ser\u00eda la m\u00e1s apropiada de extender para manejar grandes espacios de registro y elementos de datos que actualmente carecen de n\u00fameros de referencia, como las variables &#8216;no ubicadas&#8217;.<\/p>\n<p class=\"smalltext-30\" style=\"text-align: justify;\">registro de escritura de m\u00e1scara (fc 22)<br \/>\nregistros de lectura \/ escritura (fc 23)<\/p>\n<p class=\"smalltext-60\" style=\"text-align: justify;\">Esta funci\u00f3n permite la entrada de un rango de registros y la salida de un rango de registros como una sola transacci\u00f3n.\u00a0Es la forma m\u00e1s eficiente, utilizando MODBUS, de realizar un intercambio regular de una imagen de estado como con un m\u00f3dulo de E \/ S.<\/p>\n<p class=\"smalltext-60\" style=\"text-align: justify;\">Por lo tanto, un dispositivo de recopilaci\u00f3n de datos de alto rendimiento pero vers\u00e1til puede optar por implementar las funciones 3, 16 y 23 para combinar el intercambio regular r\u00e1pido de datos (23) con la capacidad de realizar interrogaciones a pedido o actualizaciones de elementos de datos particulares (3 y 16)<\/p>\n<p class=\"smalltext-30\" style=\"text-align: justify;\">leer cola FIFO (fc 24)<\/p>\n<p class=\"smalltext-60\" style=\"text-align: justify;\">Una funci\u00f3n un tanto especializada, destinada a permitir la transferencia de datos desde una tabla estructurada como FIFO (para usar con los bloques de funciones FIN y FOUT en el 584\/984) a una computadora host.\u00a0\u00datil en ciertos tipos de aplicaciones de registro de eventos.<\/p>\n<h3 style=\"text-align: justify;\"><strong>2.4 Funciones espec\u00edficas<\/strong><\/h3>\n<p style=\"text-align: justify;\">De la <strong>m\u00e1quina \/ proveedor \/ red<\/strong>\u00a0Todas las siguientes funciones, aunque se mencionan en los manuales del protocolo MODBUS, no son apropiadas para fines de interoperabilidad porque dependen demasiado de la m\u00e1quina.<\/p>\n<p class=\"smalltext-30\" style=\"text-align: justify;\">programa de diagn\u00f3stico (fc 8)<br \/>\n(484) (fc 9)<br \/>\npoll (484) (fc 10)<br \/>\ncontadores de eventos de comunicaci\u00f3n (MODBUS) (fc 11) programa de<br \/>\nregistro de eventos de comunicaci\u00f3n (MODBUS) (fc 12)<br \/>\n(584\/984) ( fc 13)<br \/>\npoll (584\/984) (fc 14)<br \/>\ninforma el programa de ID de esclavo (fc 17)<br \/>\n(884 \/ u84) (fc 18)<br \/>\nrestablece el enlace de comunicaci\u00f3n (884 \/ u84) (fc 19)<br \/>\nprograma (ConCept) (fc 40)<br \/>\nprograma de reemplazo de firmware (fc 125)<br \/>\n(584\/984) (fc 126)<br \/>\ninforme de direcci\u00f3n local (MODBUS) (fc 127)<\/p>\n<h2 style=\"text-align: justify;\"><strong>3. Estructura del protocolo.<\/strong><\/h2>\n<p style=\"text-align: justify;\">Esta secci\u00f3n describe la forma general de encapsulaci\u00f3n de una solicitud o respuesta MODBUS cuando se realiza en la red MODBUS.\u00a0Es importante tener en cuenta que la estructura del cuerpo de solicitud y respuesta, desde el c\u00f3digo de funci\u00f3n hasta el final de la parte de datos, tiene EXACTAMENTE el mismo dise\u00f1o y significado que en las otras variantes de MODBUS, como<\/p>\n<p class=\"smalltext-30\" style=\"text-align: justify;\">Puerto serie MODBUS &#8211; Codificaci\u00f3n ASCII Puerto serie MODBUS &#8211; Codificaci\u00f3n<br \/>\nRTU (binaria)<br \/>\nRed MODBUS PLUS &#8211; ruta de datos<\/p>\n<p class=\"smalltext-30\" style=\"text-align: justify;\">Las \u00fanicas diferencias en estos otros casos son la forma de cualquier secuencia de &#8220;encuadre&#8221;, patr\u00f3n de comprobaci\u00f3n de errores e interpretaci\u00f3n de direcciones.<\/p>\n<p style=\"text-align: justify;\">Todas las solicitudes se env\u00edan a trav\u00e9s de TCP \/ IP en el puerto registrado 502.<\/p>\n<p style=\"text-align: justify;\">Las solicitudes normalmente se env\u00edan en modo semid\u00faplex en una conexi\u00f3n determinada.\u00a0Es decir, no hay ning\u00fan beneficio en el env\u00edo de solicitudes adicionales en una sola conexi\u00f3n mientras que una respuesta est\u00e1 pendiente.\u00a0En lugar de eso, se recomienda a los dispositivos que deseen obtener altas tasas de transferencia pico que establezcan m\u00faltiples conexiones TCP \/ IP al mismo destino. Sin embargo, se sabe que algunos dispositivos cliente existentes intentan &#8220;canalizar&#8221; las solicitudes.\u00a0Las t\u00e9cnicas de dise\u00f1o que permiten que un servidor se adapte a este comportamiento se describen en el Ap\u00e9ndice A.<\/p>\n<p style=\"text-align: justify;\">El campo &#8216;direcci\u00f3n de esclavo&#8217; de MODBUS se reemplaza por un &#8216;Identificador de unidad&#8217; de un solo byte que se puede usar para comunicarse a trav\u00e9s de dispositivos como puentes y pasarelas que usan una sola direcci\u00f3n IP para admitir m\u00faltiples unidades finales independientes.<\/p>\n<p style=\"text-align: justify;\"><strong>La solicitud y la respuesta tienen el prefijo de seis bytes de la siguiente manera<\/strong><\/p>\n<table class=\"details\">\n<tbody>\n<tr>\n<td><strong>byte 0:<\/strong><\/td>\n<td>identificador de transacci\u00f3n &#8211; copiado por el servidor &#8211; generalmente 0<\/td>\n<\/tr>\n<tr>\n<td><strong>byte 1:<\/strong><\/td>\n<td>identificador de transacci\u00f3n &#8211; copiado por el servidor &#8211; generalmente 0<\/td>\n<\/tr>\n<tr>\n<td><strong>byte 2:<\/strong><\/td>\n<td>identificador de protocolo = 0<\/td>\n<\/tr>\n<tr>\n<td><strong>byte 3:<\/strong><\/td>\n<td>identificador de protocolo = 0<\/td>\n<\/tr>\n<tr>\n<td><strong>byte 4:<\/strong><\/td>\n<td>campo de longitud (byte superior) = 0 (ya que todos los mensajes son m\u00e1s peque\u00f1os que 256)<\/td>\n<\/tr>\n<tr>\n<td><strong>byte 5:<\/strong><\/td>\n<td>campo de longitud (byte inferior) = n\u00famero de bytes siguientes<\/td>\n<\/tr>\n<tr>\n<td><strong>byte 6:<\/strong><\/td>\n<td>identificador de la unidad (anteriormente &#8216;direcci\u00f3n de esclavo&#8217;)<\/td>\n<\/tr>\n<tr>\n<td><strong>byte 7:<\/strong><\/td>\n<td>C\u00f3digo de funci\u00f3n MODBUS<\/td>\n<\/tr>\n<tr>\n<td><strong>byte 8 en:<\/strong><\/td>\n<td>datos seg\u00fan sea necesario<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p style=\"text-align: justify;\">Por lo tanto, un ejemplo de transacci\u00f3n &#8216;leer 1 registro en el desplazamiento 4 de la interfaz de usuario 9&#8217; que devuelve un valor de 5 ser\u00eda<\/p>\n<p class=\"smalltext-30\" style=\"text-align: justify;\"><strong>solicitud:<\/strong>\u00a000 00 00 00 00 06 09 03 00 04 00 01<br \/>\n<strong>respuesta:<\/strong>\u00a000 00 00 00 00 00 09 03 02 00 05<\/p>\n<p style=\"text-align: justify;\">Consulte la secci\u00f3n posterior para ver ejemplos del uso de cada uno de los c\u00f3digos de funci\u00f3n en las clases de conformidad 0-2 Los dise\u00f1adores familiarizados con MODBUS deben tener en cuenta que los campos de verificaci\u00f3n &#8216;CRC-16&#8217; o &#8216;LRC&#8217; NO son necesarios en MODBUS.\u00a0Los mecanismos de suma de comprobaci\u00f3n TCP \/ IP \/ IP y capa de enlace (por ejemplo, Ethernet) se utilizan para verificar la entrega precisa del paquete.<\/p>\n<p>Para obtener informaci\u00f3n de nuestros productos y\/o servicios puede llamarnos al\u00a0 +52 33 38 23 43 49.<\/p>\n<p>Para obtener informaci\u00f3n sobre nuestros productos, por favor visita nuestra pagina web\u00a0\u00a0<span style=\"color: #ff6600;\"><strong><a style=\"color: #ff6600;\" title=\"Ir a la Tienda Logicbus\" href=\"https:\/\/tienda.logicbus.com.mx\/\">Logicbus<\/a><\/strong><\/span><\/p>\n<p><span style=\"color: #ff6600;\"><a style=\"color: #ff6600;\" title=\"Soporte Logicbus\" href=\"https:\/\/www.logicbus.com.mx\/servicios.php\"><strong>\u00bfDesea agregar Modbus TCP\/IP a su proyecto?<\/strong><\/a><\/span><\/p>\n<p><a title=\"Soluciones Logicbus\" href=\"https:\/\/tienda.logicbus.com.mx\/Modbus-TCP_c_3203.html\"><span style=\"color: #ff6600;\"><strong>Ver Soluciones Modbus TCP\/IP.<\/strong><\/span><\/a><\/p>\n<h2 style=\"text-align: center;\">Cont\u00e1ctanos<\/h2>\n<pre style=\"text-align: center;\"><a href=\"https:\/\/tienda.logicbus.com.mx\/cimon\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"card-review alignnone\" title=\"LOGICBUS EN ATX OESTE 2023\" src=\"https:\/\/www.logicbus.com.mx\/blog\/wp-content\/uploads\/2022\/11\/tienda.png \" alt=\"\" width=\"102\" height=\"102\" \/><\/a><a href=\"https:\/\/www.logicbus.com.mx\/\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"card-review alignnone\" title=\"LOGICBUS EN ATX OESTE 2023\" src=\"https:\/\/www.logicbus.com.mx\/blog\/wp-content\/uploads\/2022\/11\/www.png \" alt=\"\" width=\"104\" height=\"104\" \/><\/a><a href=\"https:\/\/www.logicbus.com.mx\/contacto.php\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"card-review alignnone\" title=\"ATX OESTE 2023\" src=\"https:\/\/www.logicbus.com.mx\/blog\/wp-content\/uploads\/2022\/11\/soporte.png \" alt=\"\" width=\"106\" height=\"106\" \/><\/a><a href=\"https:\/\/api.whatsapp.com\/send?phone=525554316718&amp;text=Hola%20Logicbus,me%20gustar%C3%ADa%20solicitar%20informaci%C3%B3n\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"card-review alignnone\" title=\"ATX OESTE 2023\" src=\"https:\/\/www.logicbus.com.mx\/blog\/wp-content\/uploads\/2022\/11\/wa.png \" alt=\"\" width=\"103\" height=\"103\" \/><\/a><a href=\"https:\/\/tawk.to\/chat\/5ca674ff1de11b6e3b06f73d\/default\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"card-review alignnone\" title=\"LOGICBUS EN ATX OESTE 2023\" src=\"https:\/\/www.logicbus.com.mx\/blog\/wp-content\/uploads\/2022\/11\/contacto.png \" alt=\"\" width=\"115\" height=\"115\" \/><\/a><a href=\"https:\/\/www.logicbus.com.mx\/soluciones-en-la-industria-logicbus.php\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"card-review alignnone\" title=\"ATX OESTE 2023\" src=\"https:\/\/www.logicbus.com.mx\/blog\/wp-content\/uploads\/2022\/11\/soluciones.png \" alt=\"\" width=\"106\" height=\"106\" \/><\/a><\/pre>\n<p style=\"text-align: center;\"><a href=\"mailto:ventas@logicbus.com\">ventas@logicbus.com<\/a>\u00a0 \u00a0 \u00a0 |\u00a0 \u00a0 \u00a0\u00a0<a href=\"mailto:soporte@logicbus.com\">soporte@logicbus.com<\/a>\u00a0 \u00a0 \u00a0 |\u00a0 \u00a0 \u00a0\u00a0<a href=\"https:\/\/api.whatsapp.com\/send?phone=525554316718&amp;text=Hola%20Logicbus,me%20gustar%C3%ADa%20solicitar%20informaci%C3%B3n\">55-5431-67-18<\/a>\u00a0 \u00a0 |\u00a0 \u00a0 \u00a0\u00a0 <a href=\"https:\/\/tawk.to\/chat\/5ca674ff1de11b6e3b06f73d\/default\">Iniciar conversaci\u00f3n<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>MODBUS TCP\/IP es una variante de la familia MODBUS de protocolos de comunicaci\u00f3n simples y neutrales para la supervisi\u00f3n y el control de equipos de automatizaci\u00f3n. Espec\u00edficamente, cubre el uso de la mensajer\u00eda MODBUS en un entorno &#8216;Intranet&#8217; o &#8216;Internet&#8217; utilizando los protocolos TCP\/IP. El uso m\u00e1s com\u00fan de los protocolos en este momento es [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":41441,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[71,5767],"tags":[],"class_list":["post-30150","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-articulos","category-plcs-y-convertidores-de-protocolo"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Protocolos de comunicaci\u00f3n: MODBUS TCP\/IP &#8211; Blog Logicbus<\/title>\n<meta name=\"description\" content=\"MODBUS TCP\/IP es una variante de la familia MODBUS de protocolos de comunicaci\u00f3n simples y neutrales para la supervisi\u00f3n\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.logicbus.com.mx\/blog\/modbus-tcp-ip\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Protocolos de comunicaci\u00f3n: MODBUS TCP\/IP &#8211; Blog Logicbus\" \/>\n<meta property=\"og:description\" content=\"MODBUS TCP\/IP es una variante de la familia MODBUS de protocolos de comunicaci\u00f3n simples y neutrales para la supervisi\u00f3n\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.logicbus.com.mx\/blog\/modbus-tcp-ip\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog Logicbus\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/logicbus\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-30T08:57:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-03T17:13:06+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.logicbus.com.mx\/blog\/wp-content\/uploads\/2019\/06\/Protocolos-de-comunicacio\u0301n_-MODBUS-TCP_IP.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1080\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Logicbus\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Logicbus\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minutos\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Protocolos de comunicaci\u00f3n: MODBUS TCP\/IP &#8211; Blog Logicbus","description":"MODBUS TCP\/IP es una variante de la familia MODBUS de protocolos de comunicaci\u00f3n simples y neutrales para la supervisi\u00f3n","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.logicbus.com.mx\/blog\/modbus-tcp-ip\/","og_locale":"es_MX","og_type":"article","og_title":"Protocolos de comunicaci\u00f3n: MODBUS TCP\/IP &#8211; Blog Logicbus","og_description":"MODBUS TCP\/IP es una variante de la familia MODBUS de protocolos de comunicaci\u00f3n simples y neutrales para la supervisi\u00f3n","og_url":"https:\/\/www.logicbus.com.mx\/blog\/modbus-tcp-ip\/","og_site_name":"Blog Logicbus","article_publisher":"https:\/\/www.facebook.com\/logicbus\/","article_published_time":"2024-11-30T08:57:00+00:00","article_modified_time":"2026-02-03T17:13:06+00:00","og_image":[{"width":1920,"height":1080,"url":"https:\/\/www.logicbus.com.mx\/blog\/wp-content\/uploads\/2019\/06\/Protocolos-de-comunicacio\u0301n_-MODBUS-TCP_IP.png","type":"image\/png"}],"author":"Logicbus","twitter_misc":{"Escrito por":"Logicbus","Tiempo de lectura":"11 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.logicbus.com.mx\/blog\/modbus-tcp-ip\/#article","isPartOf":{"@id":"https:\/\/www.logicbus.com.mx\/blog\/modbus-tcp-ip\/"},"author":{"name":"Logicbus","@id":"https:\/\/www.logicbus.com.mx\/blog\/#\/schema\/person\/42451dd47a6fc9e56bb0386ab20bffd5"},"headline":"Protocolos de comunicaci\u00f3n: MODBUS TCP\/IP","datePublished":"2024-11-30T08:57:00+00:00","dateModified":"2026-02-03T17:13:06+00:00","mainEntityOfPage":{"@id":"https:\/\/www.logicbus.com.mx\/blog\/modbus-tcp-ip\/"},"wordCount":2472,"publisher":{"@id":"https:\/\/www.logicbus.com.mx\/blog\/#organization"},"image":{"@id":"https:\/\/www.logicbus.com.mx\/blog\/modbus-tcp-ip\/#primaryimage"},"thumbnailUrl":"https:\/\/www.logicbus.com.mx\/blog\/wp-content\/uploads\/2019\/06\/Protocolos-de-comunicacio\u0301n_-MODBUS-TCP_IP.png","articleSection":["Articulos","PLCs y Convertidores de protocolo"],"inLanguage":"es"},{"@type":"WebPage","@id":"https:\/\/www.logicbus.com.mx\/blog\/modbus-tcp-ip\/","url":"https:\/\/www.logicbus.com.mx\/blog\/modbus-tcp-ip\/","name":"Protocolos de comunicaci\u00f3n: MODBUS TCP\/IP &#8211; Blog Logicbus","isPartOf":{"@id":"https:\/\/www.logicbus.com.mx\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.logicbus.com.mx\/blog\/modbus-tcp-ip\/#primaryimage"},"image":{"@id":"https:\/\/www.logicbus.com.mx\/blog\/modbus-tcp-ip\/#primaryimage"},"thumbnailUrl":"https:\/\/www.logicbus.com.mx\/blog\/wp-content\/uploads\/2019\/06\/Protocolos-de-comunicacio\u0301n_-MODBUS-TCP_IP.png","datePublished":"2024-11-30T08:57:00+00:00","dateModified":"2026-02-03T17:13:06+00:00","description":"MODBUS TCP\/IP es una variante de la familia MODBUS de protocolos de comunicaci\u00f3n simples y neutrales para la supervisi\u00f3n","breadcrumb":{"@id":"https:\/\/www.logicbus.com.mx\/blog\/modbus-tcp-ip\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.logicbus.com.mx\/blog\/modbus-tcp-ip\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.logicbus.com.mx\/blog\/modbus-tcp-ip\/#primaryimage","url":"https:\/\/www.logicbus.com.mx\/blog\/wp-content\/uploads\/2019\/06\/Protocolos-de-comunicacio\u0301n_-MODBUS-TCP_IP.png","contentUrl":"https:\/\/www.logicbus.com.mx\/blog\/wp-content\/uploads\/2019\/06\/Protocolos-de-comunicacio\u0301n_-MODBUS-TCP_IP.png","width":1920,"height":1080,"caption":"imagen acerca de Protocolos de comunicacio\u0301n_ MODBUS TCP_IP"},{"@type":"BreadcrumbList","@id":"https:\/\/www.logicbus.com.mx\/blog\/modbus-tcp-ip\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Inicio","item":"https:\/\/www.logicbus.com.mx\/blog\/"},{"@type":"ListItem","position":2,"name":"Protocolos de comunicaci\u00f3n: MODBUS TCP\/IP"}]},{"@type":"WebSite","@id":"https:\/\/www.logicbus.com.mx\/blog\/#website","url":"https:\/\/www.logicbus.com.mx\/blog\/","name":"Blog Logicbus","description":"Logicbus Blog ofrece informaci\u00f3n detallada sobre el control de procesos, sus tipos, elementos e importancia.","publisher":{"@id":"https:\/\/www.logicbus.com.mx\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.logicbus.com.mx\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/www.logicbus.com.mx\/blog\/#organization","name":"Logicbus Blog","url":"https:\/\/www.logicbus.com.mx\/blog\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.logicbus.com.mx\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.logicbus.com.mx\/blog\/wp-content\/uploads\/2021\/03\/logo-logicbus-blog.png","contentUrl":"https:\/\/www.logicbus.com.mx\/blog\/wp-content\/uploads\/2021\/03\/logo-logicbus-blog.png","width":1761,"height":546,"caption":"Logicbus Blog"},"image":{"@id":"https:\/\/www.logicbus.com.mx\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/logicbus\/","https:\/\/x.com\/Logicbus"]},{"@type":"Person","@id":"https:\/\/www.logicbus.com.mx\/blog\/#\/schema\/person\/42451dd47a6fc9e56bb0386ab20bffd5","name":"Logicbus","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.logicbus.com.mx\/blog\/wp-content\/uploads\/2021\/03\/JosueCetina-96x96.png","url":"https:\/\/www.logicbus.com.mx\/blog\/wp-content\/uploads\/2021\/03\/JosueCetina-96x96.png","contentUrl":"https:\/\/www.logicbus.com.mx\/blog\/wp-content\/uploads\/2021\/03\/JosueCetina-96x96.png","caption":"Logicbus"},"sameAs":["https:\/\/www.logicbus.com.mx\/blog","it@logicbus.com"],"url":"https:\/\/www.logicbus.com.mx\/blog\/author\/itlogicbus-com\/"}]}},"_links":{"self":[{"href":"https:\/\/www.logicbus.com.mx\/blog\/wp-json\/wp\/v2\/posts\/30150","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.logicbus.com.mx\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.logicbus.com.mx\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.logicbus.com.mx\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.logicbus.com.mx\/blog\/wp-json\/wp\/v2\/comments?post=30150"}],"version-history":[{"count":0,"href":"https:\/\/www.logicbus.com.mx\/blog\/wp-json\/wp\/v2\/posts\/30150\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.logicbus.com.mx\/blog\/wp-json\/wp\/v2\/media\/41441"}],"wp:attachment":[{"href":"https:\/\/www.logicbus.com.mx\/blog\/wp-json\/wp\/v2\/media?parent=30150"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.logicbus.com.mx\/blog\/wp-json\/wp\/v2\/categories?post=30150"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.logicbus.com.mx\/blog\/wp-json\/wp\/v2\/tags?post=30150"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}