PROTOCOLO MODBUS
INTRODUCCIÓN La designación Modbus Modicon corresponde a una marca registrada por Gould Inc. Como en tantos otros casos, la designación no corresponde propiamente al estándar de red, incluyendo todos los aspectos desde el nivel físico hasta el de aplicación, sino a un protocolo de enlace (nivel OSI 2). Puede, por tanto, implementarse con diversos tipos de conexión física y cada fabricante suele suministrar un software de aplicación propio, que permite parametrizar parametrizar sus sus productos. productos. No obstante, se suele hablar de MODBUS MODBUS como un estándar de bus de campo, cuyas características esenciales son las que se detallan a continuación. Todas las solicitudes y respuestas MODBUS están diseñadas en tal forma que el receptor puede verificar que un mensaje esta completo. Para códigos de función donde la solicitud y respuesta son una longitud longitud fija, el código de función solo es suficiente. suficiente. Para códigos códigos de función llevando llevando una cantidad variable de datos en la solicitud y respuesta, la porción de datos está precedida por un campo que representa el número de bytes que siguen.
DESARROLLO Modbus es un protocolo de comunicaciones situado en el nivel 7 del Modelo OSI, basado en la arquitectura arquitectura maestro/escl maestro/esclavo avo o cliente/servido cliente/servidor, r, diseñado en 1979 por Modicon Modicon para su gama de controladores controladores lógicos programables programables (PLCs). (PLCs). La comunicación en este caso se controla por medio de códigos de función, al contrario de lo que ocurre en la comunicación DP. Además, al contrario que en PROFIBUS DP, no se accede a los datos de la periferia de forma cíclica sino que se accede directamente a los datos del control.
MODBUS basa su modelo de datos sobre una serie de tablas las cuales tienen características distintivas. Las cuatro principales son: • Entradas discretas. Bit simple, suministrado por un sistem sistemaa I/O, de solo lectura. • Salidas discretas. Bit simple, alterable por un programa de aplicación, de lectura-escritura. • Registros Registros de entrada. Cantidad de 16 bits, suministrado suministrado por un sistema sistema I/O, de solo lectura. • Registros Registros de salida. Cantidad Cantidad de 16 bits, alterable alterable por un programa programa de aplicación, lectura-escritura
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
El protocolo Modbus dispone de una secuencia de códigos de función, que los procesadores procesadores de comunica comunicación ción convierten convierten en en llamadas llamadas de función función SIMATIC SIMATIC S7. Físicamente, el protocolo Modbus funciona con las siguientes interfases: • • •
RS232 C 20mA (TTY) RS422 / 485
Interfases RS232 (Recommended) Standard 232, también conocido como Electronic Industries Alliance RS-232C) es una interfaz que designa una norma para el intercambio serie de datos datos binarios binarios entre un DTE (Equipo terminal de datos) y un DCE (Data Communication Equipment, Equipo de Comunicación de datos). En particular, existen ocasiones en que interesa conectar otro tipo de equipamientos, como pueden ser computadores computadores.. Evidentemente, en el caso de interconexión entre los mismos, se requerirá la conexión de un DTE (Data Terminal Equipment) con otro DTE. Para ello se utiliza una conexión entre los dos DTE sin usar módem, por ello se llama: null módem ó módem nulo. El RS-232 consiste en un conector tipo DB-25 (de 25 pines), aunque es normal encontrar la versión de 9 pines (DE-9 (DE-9), ), más barato e incluso más extendido para cierto tipo de periféricos (como el ratón serie del PC). La transmisión 20mA tiene su origen en las interfaces de teleimpresores de Correos y Telégrafos. La técnica se asumió en primera línea de aparatos terminales industriales y también de ordenadores de la técnica de datos media y grande. En los aparatos de nueva construcción construcción la interfaz 20mA no se usa más y en lugar de ello se prefiere generalmente generalmente una interfaz de bus RS485. Estándares (RS422). Estándar aprobado por la EIA para conectar dispositivos en forma serial. Junto con el RS-423 RS-423,, son los reemplazantes del estándar RS-232 estándar RS-232,, pues soportan mayores velocidades de transferencia. También permiten compatibilidad hacia atrás, pues es posible conectar dispositivos dispositivos RS-232 RS-232 en ellos. Un protocolo es un conjunto de reglas usadas por computadoras para comunicarse unas con otras a través de una red. Un protocolo es una convención o estándar que controla o permite permite la conexión, conexión, comunicación, comunicación, y transferencia transferencia de de datos entre entre dos puntos puntos finales. finales.
Ventajas del protocolo: Conexión sencilla a sistemas Modicon o Honeywell Adecuado para cantidades de datos pequeñas o medianas (<= 255 Bytes) • •
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Desventajas del protocolo: Coste de configuración y programación elevado El protocolo no está extendido dentro de la familia SIMATIC
• •
Estructura de la red Medio Físico El medio físico de conexión puede ser un bus semidúplex (half duplex) (RS-485 o fibra óptica) o dúplex (full duplex) (RS-422, BC 0-20mA o fibra óptica). La comunicación es asíncrona y las velocidades de transmisión previstas van desde los 75 baudios a 19.200 baudios. La máxima distancia entre estaciones depende del nivel físico, pudiendo alcanzar hasta 1200 m sin repetidores.
Acceso al Medio La estructura lógica es del tipo maestro-esclavo, con acceso al medio controlado por el maestro. El número máximo de estaciones previsto es de 63 esclavos más una estación maestra.
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. • Mensaj Mensajes es difundi difundidos. dos. Estos Estos consist consisten en en una comunic comunicació aciónn unidire unidireccio ccional nal 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 configuración, reset, etc. Protocolo La codificación de datos dentro de la trama puede hacerse en modo ASCII o puramente puramente binario, según según el estándar RTU RTU (Remote (Remote Transmission Transmission Unit). Unit). En cualquiera cualquiera de los dos casos, cada mensaje obedece a una trama que contiene cuatro campos principales, principales, según se muestra en la figura 1. La única diferencia estriba en que la trama ASCII incluye un carácter de encabezamiento («:»=3AH) y los caracteres CR y LF al final del mensaje. Pueden existir también diferencias en la forma de calcular el CRC, puesto que el formato RTU emplea una fórmula polinómica en vez de la simple suma en módulo 16. Con inde Con indepen pende denci nciaa de estos estos peq peque ueños ños deta detall lles es,, a conti continua nuaci ción ón se da una breve breve descripción de cada uno de los campos del mensaje:
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Figura 1. Trama genérica del mensaje según el código empleado Número Número de esclavo esclavo (1 byte): byte): Permite direccionar un máximo de 63 esclavos con direcciones que van del 01H hasta 3FH. El número 00H se reserva para los mensajes difundidos.
Código de operación o función (1 byte): Cada función permite transmitir transmitir datos u órdenes al esclavo. esclavo. Existen Existen dos tipos básicos 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 (RUN/S /STO TOP, P, carga carga y desca descarg rgaa de progr program amas as,, veri verific ficac ació iónn de conta contador dores es de intercambio, etc.) La tabla 1 muestra la lista de funciones disponibles en el protocolo MODBUS con sus correspondientes códigos de operación. Campo de subfunciones/datos (n bytes): Este campo suele contener, en primer lugar, los parámetros necesarios para ejecutar la función indicada por el byte anterior. Estos parámetros parámetros podrán ser códigos de subfunciones subfunciones en el caso de órdenes de control (función 00H) o direcciones del primer bit o byte, número de bits o palabras a leer o escribir, valor del bit o palabra palabra en caso caso de escritur escritura, a, etc.
Palabra de control de errores (2 bytes): En código ASCII, esta palabra es simplemente la suma de comprobación (‘che (‘check cksu sum’ m’)) del del mensa mensaje je en módul móduloo 16 exp expre resa sado do en ASCI ASCII. I. En el caso caso de codificación RTU el CRC se calcula con una fórmula polinómica según el algoritmo mostrado en la figura 2.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Tabla 1. Funciones básicas y códigos de operación
Figura 2. Cálculo del CRC codificación RTU
Función 0: Esta función permite ejecutar órdenes de control, tales como marcha, paro, carga y lectura de programas de usuario del autómata. Para codificar cada una de las citadas órdenes se emple emplean an los los cuatr cuatroo prime primero ross bytes bytes del del campo campo de datos datos.. La tram tramaa resul resulta tante nte es la representada en la figura 3 y la interpretación de los códigos de subfunción se especifica en la tabla 2. En caso de las órdenes de marcha y paro, el campo de «información» de la trama representada en la figura 3 está vacío y, por tanto, el mensaje se compone simplemente de 6
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Figura 3. Trama genérica de las subfunciones de control de esclavos (cód. función 00H)
Tabla 2. Subfunciones correspondientes a la función =00H
Nivel de aplicación Como se ha dicho a nivel general de buses de campo, el nivel de aplicación de MODB MODBUS US no está está cubie cubiert rtoo por un softw softwar aree está estánda ndar, r, sino sino que cada cada fabri fabrican cante te suele suele suministrar programas para controlar su propia red. No obstante, el nivel de concreción en la definición de las funciones permite al usuario la confección de software propio para gestionar cualquier red, incluso con productos de distintos fabricantes.
Variantes de modbus JBUS JBUS es una designación utilizada por la firma APRIL para un bus propio que presenta presenta gran similitud similitud con con MODBUS, MODBUS, con protocolo protocoloss prácticamente prácticamente idénticos. idénticos. La designación JBUS, de la misma forma que MODBUS, corresponde a un protocolo de enlace más que a una red propiamente dicha. Puede, por tanto, implementarse con cualquiera de las conexiones físicas normalizadas.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
La arquitectura de la red, el formato general de la trama y muchos de los códigos de función de ambos buses coinciden exactamente. Existen, sin embargo, algunos códigos de función cambiados, otros que presentan ligeras diferencias o funciones añadidas. Como diferencias más relevantes citaremos las siguientes: • Posee un registro de estado en cada estación que permite un diagnóstico de la estación. • El número de esclavo para JBUS (1er byte de la trama) trama) permite valores que van del 01H hasta el FFH. Permite, por tanto, direccionar 255 esclavos en vez de 63. El número 00H se reserva igualmente para mensajes difundidos. • Las funciones disponibles disponibles son prácticamente prácticamente las mismas en ambos protocolos, protocolos, pero algunos códigos de función (2º byte de la trama) y de las subfunciones no coinciden.
Tabla 4. Funciones idénticas Modbus Jbus
MODBUS® TCP/IP MODBUS® TCP/IP es una variante o extensión del protocolo Modbus que permite utilizarlo sobre la capa de transporte TCP/IP. De este modo, Modbus-TCP se puede utilizar en Inte Intern rnet et,, de hech hecho, o, este este fue fue un unoo de los los obje objeti tivo voss que que moti motivó vó su desa desarr rrol ollo lo (la (la especificación del protocolo se ha remitido a la IETF=Internet Engineering Task Force). Cuando MODBUS MODBUS es llevado sobre TCP TCP información información de longitud se adiciona en el
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Permite realizar la gestión de sistemas distribuidos geográficamente mediante el empleo de las tecnologías de Internet/Intranet actualmente disponibles. Es simple para administrar y expandir. No se requiere usar herramientas de configuración complejas cuando se añade una nueva estación a una red Modbus/TCP. Puede ser usado para comunicar con una gran base instalada de dispositivos MODBUS, usando productos de conversión los cuales no requieren configuración. No es necesario necesario equipo o software software propietario propietario de algún vendedor. vendedor. Cualquier Cualquier sistema computador o microprocesador con una pila de protocolos TCP/IP puede usar Modbus/TCP. •
•
•
•
MODBUS® TCP/IP se ha convertido en un estándar industrial de facto debido a su simplicidad, bajo coste, necesidades mínimas 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 merc mercad ado. o. Se empl emplea ea para para inte interc rcam ambi biar ar info inform rmac ació iónn entr entree disp dispos osit itiv ivos os,, así así como como monitor monitoriza izarlo rloss y gestio gestionarl narlos. os. También También se emplea emplea para para la gestión gestión de entrada entradas/s s/sali alidas das dist distri ribu buid ida, a, sien siendo do el prot protoc ocol oloo más más po popu pula larr entr entree los los fabr fabric ican ante tess de este este tipo tipo de componentes. La combinación de una red física versátil y escalable como Ethernet con el estándar universal de inter redes TCP/IP y una representación de datos independiente de fabricante, como MODBUS®, proporciona una red abierta y accesible para el intercambio de datos de proceso.
Estructura del protocolo Modbus/TCP A continuación se describe la forma general de encapsulación de una solicitud o respuesta MODBUS cuando es llevada sobre una red Modbus/TCP. Es importante anotar que la estructura estructura del cuerpo de la solicitud y respuesta, respuesta, desde el código de función hasta el fin de la porción de datos, tiene exactamente la misma disposición y significado como en las otras variantes MODBUS, tal como: •
MODBUS serial - codificación ASCII MODBUS serial - codificación RTU
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
cual cuales es usan usan una una dire direcc cció iónn IP ún únic icaa para para sopo soport rtar ar múlt múltip iple less unid unidad ades es independientes.
term termin inal ales es
Los Los mens mensaj ajes es de soli solici citu tudd y resp respue uest staa en Mo Modb dbus us/T /TCP CP pose poseen en un pref prefij ijoo o encabezado compuesto por seis bytes como se aprecia en la tabla 5. ref
ref
00
00
00
len
El ref ref anterior anterior son los dos bytes del campo referencia referencia de transacción, transacción, un número que no tiene valor en el servidor pero son copiados literalmente desde la solicitud a la respuesta a conveniencia del cliente. Este campo se utiliza para que un cliente Modbus/TCP pueda establecer establecer simultáneame simultáneamente nte múltiples múltiples conexiones conexiones con diferentes diferentes servidores servidores y pueda identificar cada una de las transacciones. El tercer y cuarto campo del prefijo (00) representa el identificador de protocolo, un número el cual debe ser establecido a cero. El l en especifica especifica el número de bytes que siguen. La longitud es una cantidad de dos bytes, pero el byte alto se establece a cero ya que los mensajes son más pequeños que 256. De esta forma, un mensaje Modbus/TCP completo posee una estructura como se muestra en la tabla 5.1 Tabla 5.1 estructura de mensajes Modbus/TCP. Posición del Byte Significado Byte 0
Identificador de transacción. Copiado por el servidor o normalmente 0. Identificador de transacción. Copiado por el servidor- normalmente 0.
Byte 1 Byte 2
Identificador de protocolo = 0. Byte 3 4
Identificador de protocolo = 0. C d l i d (b l )
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
El protocolo Modbus TCP Modbus/TCP simplemente encapsula una trama Modbus en un segmento TCP. TCP proporciona proporciona un servicio servicio orientado orientado a conexión conexión fiable, fiable, lo que significa significa que toda consulta consulta espera espera una respuesta.
Figura 14. Encapsulamiento de la trama Modbus en TCP. Esta Esta técn técnic icaa de cons consul ulta ta/r /res espu pues esta ta enca encaja ja perf perfec ecta tame ment ntee con con la natu natura rale leza za Maestro/Esclavo de Modbus, añadido a la ventaja del determinismo que las redes Ethernet conmutadas ofrecen a los usuarios en la industria. El empleo del protocolo abierto Modbus con TCP proporciona una solución para la gestión desde unos pocos a decenas de miles de nodos.
Conformación de clases: MODBUS por su naturaleza es ya implementada en muchísimos lugares, por tanto una ruptura de las implementaciones existentes debe ser evitada. De esta forma el conjunto de los tipos de transacción MODBUS existente ha sido clasificado en clases, donde el nivel 0 representa funciones las cuales son universalmente implementadas y totalmente consistentes, y el nivel 2 representa funciones útiles pero algo dependientes del esclavo. Esas funciones del conjunto, las cuales no son convenientes por interope interoperabi rabilida lidadd son tambié tambiénn identif identificad icadas. as. Deb Debee anotars anotarsee que futuras futuras extensi extensiones ones al estándar pueden definir códigos de función adicionales para manejar situaciones donde el estándar existente es deficiente.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Este es el conjunto adicional de funciones, el cual es comúnmente implementado e interoperable. Como fue explicado antes, muchos esclavos deciden tratar entradas, salidas, registros, y valores discretos como equivalentes. Tabla de la clase 1 Código Función 01 Leer estado de salidas discretas 02 Leer estado de entradas discretas. 04 Leer registros de entrada. 05 Forzar una salida discreta. 06 Prefijar un registro holding único. 07 Leer estados de excepción*. * Esta función típicamente tiene un significado diferente para cada familia de esclavos. o
Clase 2
Estas son las funciones de transferencia de datos necesarias para operaciones de rutina tal como supervisión y HMI¹ . ⁷
•
Tabla de la clase 2 Código Función Fijar múltiples salidas discretas 15 Leer referencia general*. 20 21 Escribir referencia general*. Enmascarar registro de escritura. 22 Leer/escribir registros**. 23 Leer cola FIFO***. 24 Esta Esta función función ser la más apropia apropiada da para maneja manejarr grandes grandes espaci espacios os de registr registros os y datos, los cuales carecen de números de referencia.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Si disponemos de una Intranet de altas prestaciones con conmutadores Ethernet de alta velocidad, la situación es totalmente diferente. En teoría, MODBUS® TCP/IP, transporta datos hasta 250/(250+70+70) o alrededor de un 60% de eficiencia cuando se trasfieren registros en bloque, y puesto que 10 Base T proporciona proporciona unos 1.25 Mbps Mbps de datos, datos, la velocidad velocidad de transfe transferencia rencia de informa información ción útil será: 1.25M / 2 * 60% = 360000 registros por Segundo En 100BaseT la velocidad es 10 veces mayor. Esto suponiendo que se están empleando dispositivos que pueden dar servicio en la red Ethernet aprovechando todo el ancho de banda disponible. En los ensayos prácticos realizados por by Schneider Automation utilizando un PLC Ethernet MomentumTM con entradas/salidas Ethernet, demostró que se podían escanear hasta 4000 bloques I/O por segundo, cada uno con hasta 16 I/O analógicas de 12-bits o 32 I/O digitales (se pueden actualizar 4 bases por milisegundo). Aunque estos resultados están por debajo del límite límite teórico teórico calculado calculado anteriormente, anteriormente, pero debemos recordar recordar que el dispositivo se probó con una CPU de baja velocidad (80186 a 50MHz con 3 MIPS). Además, el abaratamiento de los ordenadores personales y el desarrollo de redes Ether Ethernet net cada cada vez vez más más rápid rápidas as,, permi permite te eleva elevarr las las velo velocid cidade adess de funci funciona onami mient ento, o, a diferencia de otros buses que están inherentemente limitados una sola velocidad.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Cualquier tiempo “timeout¹ ” usado en un cliente debe ser más grande que el máximo tiempo de respuesta razonable, para así evitar una excesiva congestión en el dispositivo servidor Û en la red, lo cual puede causar errores. ⁹
Así en la práctica, los timeouts usados en aplicaciones cliente de alto desempeño serán probablemente algo dependientes sobre la topología de la red y el desempeño esperado del servidor. Aplicaciones cliente las cuales no son críticas en tiempo pueden con frecuencia dejar los valores timeout al establecido por defecto en TCP, el cual reportar· fallo en la comunicación después de varios segundos. Los clientes pueden cerrar y re-establecer conexiones Modbus/TCP cuando el timeout timeout ha expirado expirado.. Sin embarg embargoo al retrans retransmit mitir ir una solicit solicitud, ud, es aconsej aconsejable able establecer el timeout un poco más grande que el anterior, para así permitir a un servidor recuperarse de un posible error.
Guía de implementación del cliente y servidor El contenido de esta sección no ser· considerado obligatorio para la implementación particular particular de un cliente o servidor. servidor. Sin embargo, si son seguidas, estas políticas políticas facilitaran facilitaran la integración integración cuando se implementen implementen sistemas sistemas multivendedor multivendedor y gateways gateways a equipo MODBUS MODBUS ya instalado. o
Diseño del Cliente.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Si no se espera una comunicación adicional al destino particular en el futuro inmediato, cerrar la conexión TCP así que los recursos en el servidor puedan ser usados, si es requerido, para servir a otros clientes. Un tiempo de un segundo es sugerido como el período máximo para dejar una conexión abierta en el cliente. •
En el evento que expire el timeout timeout para una respuesta, respuesta, realizar un cierre unilateral de la conexión, abrir una nueva, y re-enviar la solicitud. Esta técnica permite al cliente control sobre la temporización de re-intentos, el cual es superior al suministrado por defecto por TCP. También permite el uso de estrategias alternas, tal como enviar la solicitud a una dirección IP alterna, usando una red de comunicación totalmente independiente, en caso de fallo de un componente de la infraestructura de la red. o
Diseño del servidor.
Un servidor Modbus/TCP siempre será diseñado para soportar múltiples clientes concurrentes, sin importar que en su uso previsto solo un único cliente parezca tener sentido. Esto permite al cliente cerrar y reabrir la conexión a fin de responder rápidamente a la no entre entrega ga de una respu respues esta. ta. Si una pila pila de prot protoco ocolo loss TCP/ TCP/IP IP con conve venci nciona onall es usada usada,, considerables recursos de memoria pueden ser ahorrados reduciendo el tamaño de los buffers de transmisión y recepción. Un servicio TCP normal usualmente asignar· 8K bytes o más como como un buffe bufferr de recep recepci ción ón por conexió conexión. n. Tal espacio espacio de buffe bufferr no tiene tiene valor valor en
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
•
Procesar el mensaje MODBUS que ingresó, si es necesario suspendiendo el thread corriente hasta que la respuesta correcta pueda ser calculada.
Eventualmente se tendrá· ya sea un mensaje MODBUS válido o un mensaje de excepción para usar como una respuesta. Gener Ge nerar ar el prefij prefijoo Mo Modbu dbus/ s/TC TCP P para para la respu respues esta ta,, copia copiando ndo el camp campoo identificado de transacción desde la solicitud, y recalculando el campo de longitud. Enviar la respuesta, incluyendo el prefijo Modbus/TCP como un buffer único para transmisi transmisión ón sobre sobre la conexión conexión establecida. establecida. De nuev nuevoo vo volv lver er a espe espera rarr el próx próxim imoo pref prefij ijoo de 6 byte bytes, s, y repe repeti tirr el procedimiento. procedimiento. •
•
•
•
Eventualmente, cuando el cliente elija cerrar la conexión, la recepción del prefijo de 6 bytes fallar·. fallar·. En En este caso caso se cierra cierra la conexión conexión y se se cancela cancela el thread thread corriente. corriente.