Modbus Protocol UG Rev J.en - Es
Modbus Protocol UG Rev J.en - Es
Modbus Protocol UG Rev J.en - Es
Lantronix, WiBox, XPort, y WiPort son marcas comerciales registradas de Lantronix, Inc. XPress, xPico,
y xDirect son marcas comerciales de Lantronix, Inc.
Wifi es una marca registrada de Wi-Fi Alliance Corporation. Todas las demás marcas comerciales y nombres comerciales son propiedad de
sus respectivos propietarios.
Contactos
Lantronix, Inc.
7535 Irvine Center Drive Suite
100
Irvine, CA 92618, EE. UU. Número
gratuito: 800-526-8766
Teléfono: 949-453-3990
Fax: 949-450-3995
Oficinas de ventas
Para obtener una lista actualizada de nuestras oficinas de ventas nacionales e internacionales, visite el sitio web de Lantronix en
www.lantronix.com/about/contact
Descargo de responsabilidad
Toda la información contenida en este documento se proporciona "TAL CUAL". Lantronix no asume ninguna obligación de actualizar
la información de esta publicación. Lantronix no ofrece, y específicamente rechaza, todas las garantías de ningún tipo (expresas,
implícitas o de otro tipo) con respecto al título, no infracción, idoneidad, calidad, precisión, integridad, utilidad, idoneidad o rendimiento de
la información proporcionada en este documento. Lantronix no tendrá responsabilidad alguna ante ningún usuario por daños, pérdidas y
causas de acción (ya sea por contrato o por agravio o de otro modo) en relación con el acceso o uso del usuario de cualquier información
o contenido incluido en este documento. La información y las especificaciones contenidas en este documento están sujetas a
cambios sin previo aviso.
Revisión histórica
abril 2013 H Contenido agregado para xDirect y xPico. Configuración de seguridad actualizada disponible en IAP. Contenido agregado para
Junio del 2013 I Micro125.
Diciembre de 2017 METRO contraseña mejorada actualizada. Actualizado para incluir una nueva
1. Introducción 6
2: Modbus 7
Ejemplo de sistema Modbus extendido____________________________________________ 7
3: Configuración de Modbus 9
Protocolos de red _________________________________________________________ 9 Algoritmo de empaquetado
_________________________________________________________ 9 Dirección IP
_______________________________________________________________ 9 Métodos de configuración
______________________________________________________ 9 Direcciones IP del servidor de dispositivos IAP
_____________________________________________ 10 Uso de la pantalla del modo de configuración
_______________________________________________ 10 Comandos básicos (D / S / Q)
__________________________________________________ 11 Configuración de red / IP
_______________________________________________________ 12 Serie y modo Configuración
___________________________________________________ 12 Configuración de control del
módem____________________________________________________ 13 Configuración avanzada del protocolo Modbus
__________________________________________ 14 Tabla de búsqueda de ID de unidad a dirección IP
___________________________________________ 16 Configuración de seguridad
_________________________________________________________ 18 Configuración de seguridad predeterminada
___________________________________________________ 19
6: Implementación de XPort 24
7: Implementación de xPico 25
8: Implementación de Micro125 27
__________________________________________________ 28
A: solución de problemas 29
¿Qué tan rápido puedo sondear? _______________________________________________________ 29 No puedo obtener una
fallar__________________________________________________ 31
Cifras
Figura 2-1. Ejemplo de sistema Modbus extendido __________________________________ 7 Figura 3-1. Pantalla del modo de
____________________________ 17
Mesas
de baudios _____________________________________________________ 29
Esta guía del usuario proporciona información específica del protocolo Modbus para los productos integrados y externos enumerados anteriormente.
El servidor de dispositivos IAP permite a los usuarios integrar dispositivos seriales Modbus / RTU y Modbus / ASCII nuevos y existentes
con dispositivos basados en red TCP / IP más nuevos. El siguiente capítulo describe un sistema que integra cuatro dispositivos Modbus /
RTU con cuatro dispositivos Modbus / TCP.
Figura 2-1. Ejemplo de sistema Modbus extendido muestra cuatro estilos específicos de operaciones Modbus. Los dispositivos Modbus / RTU se
dividen tradicionalmente en dos grupos. (CoBox Modbus se refiere a un servidor de dispositivos IAP).
Dispositivos esclavos Modbus generalmente son los dispositivos de caballo de batalla. Realizan sus tareas las 24 horas del día, los 365 días del
año, por ejemplo, tareas como medición de flujo, control de temperatura, carga de lotes o incluso ejecutar líneas de ensamblaje automatizadas
completas. Los dispositivos esclavos no se denominan "esclavos" porque funcionan todo el tiempo; se les llama esclavos porque en lo que respecta a
las comunicaciones de datos, funcionan como servidores pasivos. Los dispositivos esclavos Modbus se sientan pasivamente y esperan a que un
dispositivo maestro Modbus remoto les pida que informen los valores de datos existentes (lectura) o acepten nuevos valores de datos (escritura).
Dispositivos maestros Modbus generalmente son computadoras de nivel superior, dispositivos en los que los datos y el software son muy
importantes. Los ejemplos más comunes de dispositivos maestros Modbus son las computadoras de “interfaz hombre-máquina” (HMI), que
permiten a los operadores humanos monitorear, ajustar y mantener las operaciones de los dispositivos de campo. Los dispositivos maestros
Modbus son clientes que activamente
salir y "leer" y / o "escribir" en dispositivos esclavos Modbus remotos para monitorear o ajustar el comportamiento del esclavo.
Los dispositivos A, B, E y F son todos nuevos dispositivos Modbus / TCP, que se han mejorado con respecto a Modbus / RTU (consulte más información sobre
las limitaciones de Modbus / RTU a continuación). Los cuatro dispositivos pueden funcionar simultáneamente como maestro Modbus y esclavo Modbus. Tanto
las computadoras A como B pueden tratar el controlador E como esclavo, sondeando datos en tiempo real. Sin embargo, el controlador E también puede actuar
como maestro y sondear datos del controlador F, que a su vez también puede actuar como maestro para escribir datos de alarma directamente en las
computadoras A y B para alertar a los operadores sobre la condición de alarma. El Modbus / RTU tradicional requiere que los dispositivos esclavos, incluso con
condiciones de alarma potencialmente mortales, se sienten pacientemente y esperen a que un maestro remoto sondee los datos específicos que causaron la
condición de alarma.
Es revolucionario que un protocolo tan simple y flexible como Modbus ofrezca tal funcionalidad. Por lo tanto, Modbus / TCP ofrece nuevas y
emocionantes opciones de diseño para usuarios industriales, que los servidores de dispositivos Lantronix IAP extienden a los dispositivos
seriales Modbus / RTU tradicionales.
Los dispositivos D, G y H son dispositivos esclavos Modbus / RTU tradicionales. El dispositivo D utiliza una interfaz eléctrica de punto a punto como RS232.
Esto permite que un único maestro Modbus / RTU hable con el dispositivo D. Sin embargo, el servidor de dispositivos IAP hace que el dispositivo D aparezca
en la red Modbus / TCP como un dispositivo esclavo Modbus / TCP completo. Todos los dispositivos habilitados para Modbus / TCP, A, B, E y F, pueden
compartir activamente el acceso al dispositivo esclavo D. Una limitación en la implementación tradicional de Modbus / RTU espera que los dispositivos estén
dedicados como dispositivos maestros o esclavos, por lo que el dispositivo D solo puede actuar como esclavo Modbus.
Los dispositivos G y H son diferentes del dispositivo D. Comparten una sola línea RS485 “multipunto” que los limita estrictamente para actuar como
esclavos de un solo maestro Modbus / RTU. Sin embargo, todavía se aplica un poco de la nueva magia del servidor de dispositivos Modbus / TCP e
IAP • todos los dispositivos habilitados para Modbus / TCP A, B,
E y F pueden compartir activamente el acceso a los dispositivos esclavos G y H. El servidor de dispositivos IAP gestiona y coordina el acceso
compartido. De hecho, el servidor de dispositivos IAP permite que hasta ocho maestros Modbus concurrentes compartan el acceso a los
esclavos.
El dispositivo C es un dispositivo maestro Modbus / RTU tradicional. Sin embargo, el servidor de dispositivos IAP hace que el dispositivo C
aparezca en la red TCP / IP como un maestro Modbus / TCP. • más todos los esclavos Modbus / TCP en la red TCP / IP (A, B, D, E, F, G y H)
aparecen como dispositivos esclavos Modbus / RTU tradicionales. La única limitación es la suposición tradicional de Modbus / RTU de que el
dispositivo C está dedicado solo como maestro. Por lo tanto, los dispositivos maestros Modbus / TCP A, B, E y F no pueden tratar el dispositivo C
como un esclavo Modbus / TCP.
Maestro en serie Modbus / RTU hablando con esclavo en serie Modbus / RTU
Finalmente, el dispositivo maestro C puede sondear los dispositivos esclavos D, G y H tradicionales de Modbus / RTU como si estuvieran directamente en
una línea RS485 conectada. El servidor de dispositivos IAP conecta de forma transparente los dispositivos Modbus / RTU tradicionales a través de
cualquier red TCP / IP. Esto significa que los usuarios pueden comenzar a implementar para Modbus / TCP mucho antes de que todos los productos
requeridos existan con Modbus / TCP y las interfaces de red.
Protocolos de red
El servidor de dispositivos IAP utiliza protocolos TCP / IP para la comunicación en red. Los estándares admitidos son ARP, UDP,
TCP, ICMP, Telnet, TFTP, DHCP y SNMP. Para conexiones transparentes, se utilizan protocolos TCP / IP (flujo binario) o Telnet.
Las actualizaciones de firmware se pueden realizar con el protocolo TFTP.
El protocolo IP define el direccionamiento, el enrutamiento y el manejo de bloques de datos en la red. El TCP (protocolo de control de
transmisión) asegura que no se pierdan ni se dupliquen datos, y que todo lo que se envía a la conexión por un lado llega al destino
exactamente como se envió.
Para aplicaciones típicas de datagramas en las que los dispositivos interactúan con otros sin mantener una conexión punto a
punto, se utiliza el datagrama UDP.
Algoritmo de embalaje
Modbus / RTU tradicional requiere un "tiempo de espera de carácter" para señalar el final de un paquete Modbus / RTU. Esto alarga el ciclo de
respuesta general. Afortunadamente, el servidor de dispositivos IAP utiliza un algoritmo inteligente de predicción de longitud para detectar el final
de los mensajes Modbus estándar. Esto permite un mejor rendimiento y el servidor de dispositivos IAP recurre al uso de un "tiempo de espera de
caracteres" definible por el usuario para administrar funciones Modbus no estándar o definidas por el usuario.
Dirección IP
Todos los dispositivos conectados a la red TCP / IP, incluido el servidor de dispositivos IAP, deben tener una dirección IP única. Cuando varios
dispositivos Modbus comparten una única IP, Modbus / TCP incluye una dirección adicional denominada ID de unidad. Consulte la guía del usuario
del producto para su servidor de dispositivo IAP específico para obtener una descripción completa del direccionamiento IP.
Cuando el servidor del dispositivo IAP recibe mensajes Modbus / TCP de maestros remotos, la ID de la unidad se convierte para usarse
en el mensaje Modbus / RTU como la dirección esclava.
Cuando el servidor de dispositivos IAP recibe mensajes Modbus / RTU de maestros seriales locales, se utiliza una tabla de búsqueda definida por
el usuario para hacer coincidir la dirección esclava Modbus de 8 bits con una dirección IP remota. La dirección de esclavo Modbus recibida se
utiliza como ID de unidad.
Métodos de configuración
El servidor de dispositivos IAP se puede configurar mediante métodos locales o remotos. Utilice un terminal ASCII o un programa de
emulación de terminal para acceder localmente al puerto serie o utilice una conexión Telnet al puerto 9999 para configurar la unidad a través
de la red. Consulte la guía del usuario del producto para su servidor de dispositivo IAP.
La configuración del servidor del dispositivo IAP se almacena en una memoria no volátil y se retiene sin energía. La configuración se puede cambiar en
cualquier momento. El servidor de dispositivos IAP realiza un restablecimiento después de que se haya cambiado y almacenado la configuración.
El servidor de dispositivos IAP se envía con una dirección IP predeterminada de 0.0.0.0, que habilita automáticamente DHCP dentro del
servidor de dispositivos IAP.
Con un servidor de dispositivos IAP habilitado para DHCP, si hay un servidor DHCP para responder a la solicitud del servidor de dispositivos IAP
cuando se está iniciando, el servidor de dispositivos IAP obtendrá una dirección IP, una dirección de puerta de enlace y una máscara de subred
del DHCP. servidor. Estas direcciones no se mostrarán en las pantallas de Configuración (configuración) del servidor de dispositivos IAP (todavía
verá 0.0.0.0); sin embargo, si ingresa al modo Monitor y desde el indicador 0>, escriba NC ( mayúsculas), se mostrará la configuración IP del
servidor del dispositivo IAP. . Ver 4: para más información.
1. Desde la utilidad de configuración Lantronix® DeviceInstaller®, haga clic en el Telnet botón para
abra una conexión Telnet al servidor del dispositivo IAP. Aparece la dirección de hardware Ethernet del servidor de
dispositivos IAP (o HW MAC).
2. De forma predeterminada, para la mayoría de los dispositivos, la contraseña son los últimos 8 caracteres de la ID del dispositivo (para dispositivos fabricados
después del 1 de enero de 2020) o se deja en blanco (para todos los dispositivos más antiguos). Consulte la guía del usuario de su dispositivo para obtener
más información.
3. En 5 segundos, Prensa Ingresar para mostrar la pantalla del modo de instalación (configuración). Tu aquí
puede cambiar los parámetros que definen cómo el servidor de dispositivos IAP hace su trabajo.
Nota: Cuando configura una nueva unidad, y especialmente si acaba de actualizar la unidad con un nuevo tipo de firmware, le
recomendamos que restablezca todos los parámetros a los valores predeterminados de fábrica.
4. Para restablecer los parámetros a los valores predeterminados de fábrica, escriba D en la línea de comando y presione Ingresar.
Se muestran los parámetros predeterminados.
6. Para ingresar un valor para un parámetro, ingrese el valor y presione Ingresar, o para confirmar un valor predeterminado
valor, presione Ingresar.
Para guardar la configuración y salir, escriba S en la línea de comando y presione Ingresar. Esto salva el
parámetros a EEPROM.
Precaución: NO ENCIENDA la unidad demasiado rápido después de hacer esto. Deje que la unidad se reinicie naturalmente una vez
primero.
Para salir sin guardar, escriba Q en la línea de comando y presione Ingresar. La unidad se reinicia. Para restaurar los valores
Comandos básicos (D / S / Q)
Figura 3-1. Pantalla del modo de configuración (configuración) muestra el menú principal de configuración del servidor de dispositivos IAP. El servidor de
dispositivos IAP ofrece tres opciones básicas.
Entrando D restablece todos los parámetros a los valores predeterminados de fábrica como se muestra arriba. Solo la dirección IP no cambia. Aunque no
es necesario, seleccionar esta opción inmediatamente después de volver a cargar el firmware y guardarlo asegura que la unidad se reinicie.
Ahorra)
Entrando S guarda los ajustes de los parámetros mostrados actualmente en la memoria no volátil y sale del modo de configuración.
Esta opción activa un reinicio.
Configuración de red / IP
Los siguientes valores se pueden configurar o cambiar. Para comprender y seleccionar los valores adecuados, consulte uno de los
muchos libros de TCP / IP disponibles en la actualidad y su administrador de red.
Dirección IP
La dirección IP debe establecerse en un valor único en su red. Si no está familiarizado con el direccionamiento IP en su red,
consulte a su administrador de red. Consulte la guía del usuario de IAP del servidor de su dispositivo para obtener más detalles
sobre las direcciones IP.
Si el servidor de dispositivos IAP está configurado en una dirección que ya está en uso, muestra un código de error con los LED y no
funcionará correctamente. Si planea utilizar DHCP, configure la IP en 0.0.0.0 para activar DHCP.
La mayoría de los usuarios pueden seleccionar norte para este caso. Solo necesitas elegir Y si el servidor del dispositivo IAP debe comunicarse con
redes TCP / IP remotas a través de un enrutador o puerta de enlace. Si seleccionas Y, también debe ingresar la dirección IP de la puerta de enlace
predeterminada dentro de su red local.
La mayoría de los usuarios pueden seleccionar NORTE, lo que hace que el servidor del dispositivo IAP utilice automáticamente la máscara de red estándar
apropiada para la dirección IP ingresada. Los usuarios que deseen una máscara de red no estándar deben ingresar la nueva máscara de subred en la forma
tradicional, por ejemplo, 255.255.248.000.
Habilite la configuración de contraseña mejorada y cree una contraseña segura de 16 caracteres. Para obtener más detalles, consulte Configuraciones de
seguridad en la página 18 .
Nota: No recomendamos que utilice únicamente la contraseña básica de 4 caracteres, ya que no ofrece suficiente
seguridad. No usar contraseña es muy peligroso.
Seleccione 2 para cambiar los parámetros seriales básicos. Los siguientes valores se pueden configurar o cambiar.
Como se mencionó en la introducción, los dispositivos Modbus / RTU se definen como dispositivos esclavos o maestros. Escribe 1 si el
dispositivo adjunto es un esclavo (como un controlador o un PLC) o 2 si el dispositivo adjunto es un maestro (como una computadora que
ejecuta un software de interfaz gráfica hombre-máquina (HMI)).
El Modbus serial viene en dos formas. Modbus / RTU utiliza bytes de datos de 8 bits para enviar información binaria. Sin embargo, algunos dispositivos no
pueden manejar bytes de datos de 8 bits, por lo que se utiliza Modbus / ASCII. Modbus / ASCII es un protocolo más lento, donde cada byte de datos de 8
bits se convierte en 2 caracteres ASCII. Dado que el servidor de dispositivos IAP convierte tanto hacia y desde Modbus / TCP por completo, puede mezclar
cualquier combinación de dispositivos RTU y ASCII en una red Modbus / TCP. Por tanto, un maestro Modbus / RTU conectado a un servidor de
dispositivos IAP puede acceder de forma remota a un esclavo Modbus / ASCII conectado a otro servidor de dispositivos IAP.
Esto permite que el servidor de dispositivos IAP se ocupe de los detalles relacionados con el software del uso de RS232, RS422 y RS485.
Con el XPress DR-IAP, aún debe configurar el interruptor externo rojo RS232 / RS485 de manera apropiada. Con el UDS-10-IAP o
CoBox-FL-IAP, aún debe seleccionar los pines correctos para RS232 o los pines RS422 / 485 compartidos.
Ingrese la velocidad en baudios (300/600/1200/2400/4800/9600 / 19.200 / 38.400 / 57.600 / o 115.200), bits de datos (7/8),
paridad (N / O / E) y bits de parada (1 / 2) en el estilo clásico de “Comando en modo DOS”. Algunos ejemplos son 9600, 8, E, 1 o
1200, 7, O, 2. Estos ajustes deben coincidir con los del dispositivo Modbus adjunto.
El UDS-10-IAP admite solo 1 bit de parada. Si intenta establecer una combinación de configuraciones no admitida, se muestra una advertencia.
Nota: Independientemente de estos ajustes, la configuración del servidor de dispositivos IAP siempre se realiza en CH1 con
RS232 y un ajuste de 9600,8, N, 1.
Cuando se usa RS232, el servidor de dispositivos IAP tiene una serie de parámetros de "Control de módem" definibles por el usuario para administrar
el protocolo de enlace RTS / CTS para módems de radio semidúplex.
El XPress DR-IAP tiene un puerto RS232 estilo DTE, por lo que RTS es una salida y CTS es una entrada. El UDS-10-IAP y CoBox-FL-IAP
tienen un puerto RS232 estilo DCE, por lo que RTS es una entrada y CTS es una salida.
Solo se preguntó si el modo RTS / CTS es variable. Una vez que el servidor de dispositivos IAP confirma la señal RTS / CTS, se retrasa de 0 a
1275 ms antes de continuar. Normalmente esto se establece en 0. Solo establezca un valor aquí si su dispositivo, módem o cable no es
estándar.
Solo se preguntó si el modo RTS / CTS es variable. Respondiendo norte hace que el servidor de dispositivos IAP ignore la respuesta RTS /
CTS del módem. Respondiendo Y hace que el servidor de dispositivos IAP espere la respuesta RTS / CTS del módem. No respondas Y a
menos que sepa que el cable está conectado correctamente para admitir esta señal.
Solo se preguntó si el modo RTS / CTS es variable y está configurado para esperar a que CTS se active. Una vez que el servidor del
dispositivo IAP ve que el módem afirma una entrada de respuesta RTS / CTS, se retrasa de 0 a 1275 milisegundos (mseg) antes de
transmitir. Si el servidor del dispositivo IAP espera sin ver una respuesta válida del módem, devolverá la respuesta de excepción Modbus
0x0B (hex) al maestro solicitante Modbus / TCP.
Solo se preguntó si el modo RTS / CTS es variable. Una vez que el servidor del dispositivo IAP completa la transmisión, se retrasa de 0 a
1275 ms antes de eliminar la salida RTS / CTS.
Modbus / TCP incluye un campo de ID de unidad, que se utiliza para direccionar varios esclavos Modbus en una única dirección IP. Desafortunadamente,
algunos controladores de software de primera generación asumieron un solo esclavo en cada IP y siempre configuran el campo ID de la unidad en 0.
Esto causa problemas en el servidor del dispositivo IAP porque requiere el ID de la unidad para la "Dirección esclava" de Modbus / RTU. Para admitir
estas aplicaciones más antiguas, el servidor de dispositivos IAP le permite forzar una dirección fija para Modbus / RTU y Modbus / ASCII, pero tenga en
cuenta que esto lo restringe a un solo dispositivo esclavo en serie por servidor de dispositivos IAP.
Estableciendo este valor en 0 hace que el servidor de dispositivos IAP utilice el ID de unidad Modbus / TCP tal como se recibe. Establecerlo en cualquier otra
dirección hace que el servidor de dispositivos IAP siempre use el valor establecido como una dirección fija.
Esto se relaciona con el problema anterior. El valor predeterminado es 2 / No, en cuyo caso el servidor de dispositivos IAP siempre asume un "ID de unidad"
Modbus / TCP de 0 realmente significa dirección esclava Modbus 1. Respondiendo
No aquí es como establecer una dirección fija de 1 ( parámetro anterior), excepto que la dirección fija solo se utiliza si el "ID de unidad" de
Modbus / TCP es 0.
Nota: En la versión de software actual para el servidor de dispositivos IAP, solo se admite una transmisión Modbus verdadera cuando se conecta
un dispositivo esclavo en serie. Una transmisión Modbus desde un dispositivo maestro en serie se descarta independientemente de la
configuración de este parámetro.
El Modbus serial tradicional usa el silencio para señalar algunos errores. Si bien esto funciona bien con líneas seriales directas, causa
serios problemas en una red de área amplia TCP / IP donde los retrasos no son tan predecibles. . Ver 4: para más información.
Establecer este parámetro en 1 / No hace que el servidor de dispositivos IAP se comporte como un esclavo serie Modbus tradicional: responde a
tiempos de espera, direcciones esclavas no configuradas y errores CRC con silencio.
Estableciendo esto en 2 / sí hace que el servidor de dispositivos IAP devuelva 1 de 2 nuevos códigos de excepción definidos en Modbus / TCP.
Considere la excepción hexadecimal 0A (RUTA NO DISPONIBLE) como un error "duro" en el que no es probable que un reintento tenga éxito. Se
devuelve:
Si es esclavo, actualmente nunca. Sin embargo, el firmware futuro puede permitir al usuario definir el
rango de direcciones esclavas válidas.
Si está conectado al maestro: si una solicitud de Modbus tiene una dirección de esclavo que no está configurada en el ID de la unidad
a la tabla de mapeo de IP.
Si está conectado al maestro: si el socket TCP no se abrió. Este es realmente un error blando-duro, ya que el
La razón por la que el socket TCP no se abrió puede ser transitorio o un error de configuración.
Considere la excepción hexadecimal 0B (EL DISPOSITIVO OBJETIVO NO RESPONDE) como un error "suave" en el que un reintento puede tener éxito.
Se devuelve:
Si está conectado al maestro: si un socket TCP está abierto, pero no se recibió respuesta en el
tiempo de espera del mensaje.
Si está conectado al maestro: si un conector TCP está abierto, pero el servidor / esclavo Modbus / TCP remoto regresó
excepción 0x0B.
Si bien la especificación estándar Modbus / TCP requiere que los maestros / clientes Modbus / TCP solo emitan una encuesta a la vez,
la naturaleza de control de flujo full-duplex de TCP / IP les permite emitir más de una a la vez, y el socket TCP los almacenará en búfer.
El servidor del dispositivo IAP los buscará uno a la vez y responderá a cada uno de ellos. Ver 4: para más información.
Estableciendo esto en 1 / No hace que el servidor de dispositivos IAP permita este comportamiento de cola o canalización. Esta es la configuración
predeterminada más segura; cámbiela solo a desactivar si tiene problemas.
Estableciendo esto en 2 / sí hace que el servidor de dispositivos IAP obtenga siempre la solicitud más reciente del búfer TCP; todas las solicitudes
anteriores se descartan. Esto permite que un maestro / cliente Modbus / TCP reintente solicitudes antiguas sin correr el riesgo de crear una cola
obsoleta de solicitudes en espera.
Esto establece el tiempo de espera entre los caracteres recibidos. El Modbus / RTU oficial define un tiempo de espera de 3,5 caracteres, pero los
dispositivos complejos tienen varias interrupciones que pueden provocar “pausas” de 5 a 10 caracteres durante la transmisión. Un valor seguro para
uso general con Modbus es 50 mseg.
Nota: Establecer este valor por debajo de 50 mseg no mejorará el rendimiento e incluso puede empeorarlo. El servidor de
dispositivos IAP utiliza un algoritmo inteligente de predicción de longitud para detectar el final del mensaje en Modbus / RTU.
Este "tiempo de espera de carácter" sólo se utiliza con funciones Modbus definidas por el usuario o no estándar.
Esto establece el tiempo de espera para una respuesta de un esclavo conectado tanto en serie como por TCP / IP.
Esta función inserta un retraso entre las solicitudes del maestro Modbus / TCP. La primera solicitud se envía desde el puerto serie del servidor del
dispositivo IAP al esclavo Modbus. Cuando la respuesta del esclavo ingresa al puerto serie del servidor del dispositivo IAP, activa este
temporizador. Una vez alcanzado el retardo especificado, se permite que la siguiente solicitud maestra pase a través del puerto serie del servidor
del dispositivo IAP y se restablece el temporizador. Esta función es particularmente útil cuando se utiliza el protocolo serie RS485 de 2 cables. El
retardo da tiempo suficiente para que los dispositivos esclavos RS485 apaguen sus transmisores y vuelvan a encender sus receptores.
Esta configuración permite que el MBF convierta los datos de la resistencia de "entrada" en datos de la resistencia de "retención". También convierte
datos de bobinas y contactos. Esta función es útil para los escáneres de E / S de Modicon.
Dado que Modbus serie utiliza direcciones esclavas de 8 bits y una red TCP / IP requiere direcciones IP de 32 bits, el servidor de dispositivos IAP utiliza
esta tabla para asignar una dirección de 8 bits a una combinación de IP / ID de unidad. La dirección de 8 bits se utiliza para seleccionar la IP deseada y
como la ID de unidad enviada. La tabla contiene 8 entradas y cualquier dirección de esclavo Modbus que no se encuentre en la tabla devuelve una
respuesta de excepción al maestro (si está habilitada).
El siguiente ejemplo muestra cómo agregar una entrada. Seleccione 5 para editar / ver la configuración.
Cerrar los enchufes TCP inactivos después de (1-60 segundos, 0 = dejar abierto) (00010) Reintentos de entrada redundantes
después de (15-60 segundos 0 = deshabilitar la función) (00000) (Establezca el cuarto octeto en 0 para usar la dirección
esclava como parte de IP)
Cerrar los enchufes TCP inactivos después de (3-60 segundos, 0 = dejar abierto)
A diferencia de las versiones anteriores del firmware Lantronix Modbus que intentaban mantener abiertos 8 enchufes para siempre, esta versión solo mantiene
abiertos los enchufes según sea necesario. Entrar en un 0 mantiene un único conector abierto al último esclavo Modbus / TCP remoto al que se accedió.
De lo contrario, ingrese los valores de 3 a 60 para cerrar automáticamente el último enchufe después de 3 a 60 segundos (seg) de tiempo de inactividad.
Ingrese el tiempo en segundos para reintentos de entrada redundantes o configúrelo en 0 para deshabilitar la función.
Puede agregar o eliminar entradas en la tabla de direcciones IP. Se clasifican automáticamente en orden creciente. Ingresar mi
cuando esté satisfecho con la tabla para volver al menú principal.
Esta es la dirección esclava Modbus mínima / máxima (incluida) para reenviar a esta dirección IP.
Dirección IP esclava
Esta es la dirección IP del esclavo Modbus / TCP remoto. Tenga en cuenta las dos formas diferentes en que se interpretan estas IP. En el
ejemplo de configuración anterior, verá los siguientes resultados:
Las encuestas al esclavo n. ° 12 irán a IP 192.168.0.12 con ID de unidad 12. Las encuestas a esclavo
n. ° 70 irán a IP 192.168.0.70 con ID de unidad 70. Las encuestas a esclavo n. ° 112 irán a IP
192.168.0.50 con ID de unidad 112 .Las encuestas al esclavo # 155 irán a IP 192.168.0.50 con ID de
unidad 155. Las encuestas a esclavo # 201 irán a IP 172.16.123.201 con ID de unidad 201. Las
Establecer el último / cuarto octeto de IP en cero se interpreta como una señal para usar la ID de esclavo como parte de la IP. Esto permite que un
maestro Modbus / RTU acceda hasta 255 esclavos Modbus / TCP remotos. Establecer el último / cuarto octeto de la IP en 1-254 hace que todas las
encuestas de esclavos de este grupo se envíen a la misma IP. 255 no se acepta como último / cuarto octeto de IP.
Configuraciones de seguridad
Seleccione 7 para configurar los parámetros de configuración de seguridad del servidor de dispositivos.
PRECAUCIÓN : La desactivación de Telnet Setup y Port 77FE evitará que los usuarios accedan al menú de
configuración desde la red.
SNMP
Puede habilitar o deshabilitar SNMP. Por defecto, está activado.
Comunidad SNMP
El nombre de comunidad SNMP es un campo obligatorio para que NMS lea o escriba en un dispositivo. Ingrese una cadena de 1 a 13
caracteres.
Configuración de Telnet
Este ajuste predeterminado es el N ( No) opción. los Y ( Sí) desactiva el acceso al modo de configuración por Telnet (puerto 9999). Solo
permite el acceso de forma local mediante las páginas web y el puerto serie de la unidad.
Nota: Si elige deshabilitar esta opción, tenga en cuenta que deshabilitar Telnet Setup evitará que los usuarios
accedan al menú de configuración desde la red.
Descarga TFTP
Este ajuste predeterminado es el N ( No) opción. los Y ( Sí) desactiva el uso de TFTP para realizar actualizaciones de firmware de red. Con esta
opción, puede descargar actualizaciones de firmware a través del puerto serie mediante el procedimiento de recuperación de firmware de la
aplicación DeviceInstaller.
Puerto 77FEh
El puerto 77FE es una configuración que permite al programa personalizado DeviceInstaller ubicar y configurar la unidad de forma remota. Es posible que
desee deshabilitar esta capacidad por motivos de seguridad.
Nota: Si elige deshabilitar esta opción, tenga en cuenta que deshabilitar tanto la configuración de Telnet como el puerto 77FE
evitará que los usuarios accedan al menú de configuración desde la red.
Servidor web
Esta configuración está predeterminada en N (opción). La opción Y (Sí) desactiva el servidor web.
La configuración de Contraseña mejorada le permite establecer una contraseña de hasta 16 caracteres para proteger Telnet y el
acceso a la página web. Le recomendamos que seleccione el Y ( Sí) y habilite la configuración de contraseña mejorada.
Evite utilizar la configuración de contraseña básica de 4 caracteres o ninguna contraseña, ya que no son opciones seguras.
El puerto 77F0 es una configuración que permite que una aplicación personalizada consulte o establezca los pines configurables (admitidos
en WiPort, XPort, xPico y xPico 110) cuando funcionan como E / S de propósito general (GPIO). Es posible que desee deshabilitar esta
capacidad por motivos de seguridad. La configuración predeterminada es la opción N (No), que habilita el control GPIO. La opción Y (Sí)
desactiva la interfaz de control GPIO.
Nota: XPress DR, XPress DR +, xDirect, UDS1100 y Micro125 no admitirán esta función de
seguridad.
La guía del usuario del servidor de dispositivos explica otras dos formas de actualizar. Puede hacerlo en serie con HyperTerminal o
directamente por Ethernet con un cliente Trivial-File-Transfer-Protocol (o TFTP). El método TFTP toma solo unos segundos, mucho más
rápido que los 5 minutos o más requeridos en serie. Con todo el firmware de protocolo, use el nombre de archivo de destino TFTP de .ROM
(en mayúsculas).
Existen diferencias importantes entre los archivos de firmware del protocolo industrial y los archivos de firmware estándar de
Lantronix. Aunque el hardware puede ser el mismo, no podrá descargar un firmware estándar de Lantronix (como el estándar
“3Q” o las versiones anteriores de Modbus
1.0, 1.1 o 1.2). Estos archivos de firmware se rechazan con el error "Lo sentimos, ese firmware no es compatible". Y aunque puede
descargar cualquier firmware industrial a servidores de dispositivos Lantronix que no sean IAP, no funcionarán. Cuando se inicia, un
firmware industrial en el hardware incorrecto hará parpadear el LED rojo y verá el mensaje de error "Lo sentimos, este firmware no es
compatible" desde el puerto serie. El firmware industrial también ha bloqueado el comando "SF" dentro del Monitor.
WiPort y WiBox tienen 2 puertos seriales. Elija el puerto serie que utiliza el firmware para enviar y recibir datos serie
Modbus / RTU o Modbus / ASCII en la Configuración de serie y modo
opción de menú.
Nota: El canal 1 en WiBox solo admite RS-232, mientras que el canal 2 admite los modos RS-232 y RS-422 / RS-485 de
2/4 cables.
La opción de menú para Configuración de control del módem es reemplazado por Configuración de pin configurable / módem en el
WiPort. Las opciones son:
Función CP0 (presione el espacio para alternar) GPIO (In) Función CP0
(presione el espacio para alternar) GPIO (Out) Función CP0 (presione el
espacio para alternar) DTR (Out) Función CP0 (presione el espacio para
alternar) Diag LED
Función CP0 (presione el espacio para alternar) LED de estado-G Función CP0
(presione el espacio para alternar) LED de estado-Y Función CP0 (presione el
espacio para alternar) RS485 Seleccione la función CP0 (presione el espacio para
alternar) RS485 Función CP0 de 2 cables (presione espacio para alternar) RS485
4-Wire CP0 Función (presione espacio para alternar) Valores predeterminados (In)
La asignación para cada pin configurable se establece recorriendo las opciones del menú ingresando un espacio o cualquier tecla que no
sea Ingresar.
GPIO asigna el pin como una entrada o salida de propósito general. Los GPIO se pueden escribir y leer
a través de Modbus / TCP cuando está en modo esclavo adjunto.
DTR es la señal de salida de control de módem (MCO) para Terminal de datos listo.
LED de diagnóstico, LED de estado-G y LED de estado-Y son las salidas para LED de diagnóstico (rojo), estado verde
LED y el LED de estado amarillo.
RS485 Select es una salida que se activa al configurar el canal serial para RS422 / 485
operación.
RS485 2-Wire y 4-Wire son salidas que se activan al configurar RS422 / 485 2-Wire o 4-Wire
operación respectivamente.
Valores predeterminados es una entrada que se lee al inicio que le dice al firmware que restablezca la configuración a los valores predeterminados de fábrica.
Después de asignar la función aplicable presionando Ingresar, Luego se le pregunta si el pin está invertido (activo bajo).
Función CP0 (presione el espacio para alternar) GPIO (In) Invertir (activo bajo) (Y)?
Debe asignarse una función a cada pin configurable. GPIO (Entrada) debe ser el predeterminado para todos los pines no utilizados o
asignados.
Función CP0 (presione el espacio para alternar) RS485 Seleccione la función Invertir (activo bajo) (Y)? Invertir (activo
CP1 (presione el espacio para alternar) RS485 Función CP2 de 2 cables bajo) (Y)? Invertir (activo bajo) (N)? Invertir
(presione el espacio para alternar) GPIO (In) Función CP3 (presione el espacio (activo bajo) (N)? Invertir (activo bajo) (N)?
para alternar) GPIO (In) Función CP4 (presione espacio para alternar) GPIO (In) Invertir (activo bajo) (N)? Invertir (activo
Función CP5 (presione espacio para alternar) Diag LED bajo) (N)? Invertir (activo bajo) (N)? Invertir
(activo bajo) (N)? Invertir (activo bajo) (N)?
Función CP6 (presione el espacio para alternar) LED de estado-G Función CP7 Invertir (activo bajo) (N)?
(presione el espacio para alternar) LED de estado-Y Función CP8 (presione el
espacio para alternar) GPIO (In) Función CP9 (presione el espacio para alternar)
GPIO (In) Función CP10 (presione la barra espaciadora para alternar) GPIO (Fuera)
Una vez que se hayan asignado todos los pines configurables, se pueden ingresar los ajustes de control del módem estándar, si corresponde.
Cifrado: TKIP
Velocidad de transmisión de datos ............... 54 Mbps de recuperación automática
Administración de energía ........... Deshabilitado
Soft AP Roaming ............ Desactivado WLAN Max paquetes
fallidos ... 6
7) Configuración de seguridad:
SNMP ....................... Habilitado
Nombre de la comunidad SNMP ........ Configuración Telnet
pública ............... Descarga TFTP habilitada .............. Puerto
habilitado 77FEh. ................ Servidor web habilitado
................. Configuración web habilitada ........... .......
Habilitado Contraseña mejorada .......... Deshabilitado Puerto
77F0h ................. Habilitado
La opción de menú para Configuración de WLAN Se ha agregado para configurar los parámetros de Wi-Fi de WiPort / WiBox.
Se agregaron dos nuevos parámetros en la opción de menú Configuración avanzada del protocolo Modbus
en WiPort. La dirección esclava Modbus y los parámetros de compensación de inicio se utilizan para dirigir los comandos Modbus de lectura de
estado de la bobina, lectura de estado de entrada, forzar bobina única y forzar bobinas múltiples al GPIO del servidor del dispositivo WiPort. Otros
comandos o direcciones no coincidentes se dirigen al puerto serie.
¿Dirección de esclavo local para GPIO (0 para deshabilitar o 1..255) (0)? 3 Desplazamiento inicial (0x /
1x0001..9999) (1) 100
Función CP1 (1 = sin usar, 2 = salida LED de estado, 3 = salida RTS, 4 = habilitación de salida RS485)
los Salida LED de estado La función para CP1 es una salida baja activa para controlar el LED de estado del servidor de dispositivos (LED1 en el Guía de
integración de XPort ). Seleccionar Salida RTS para las solicitudes de CP1 para opciones adicionales relacionadas con el control de una señal de solicitud
de envío (RTS) y la realización del control de flujo (consulte Configuración de control del módem en la página 13 ). Seleccione Espere CTS desde estas
opciones para autoconfigurar el CP3 para la entrada CTS. Utilizar el Habilitación de salida RS485 función para controlar un controlador de línea RS485
externo cuando está en modo RS485 de 2 cables. Esta salida se puede configurar para activo alto (predeterminado) o activo bajo.
Seleccione Salida DTR para las solicitudes de CP2 para opciones adicionales para controlar una señal de terminal de datos listo (DTR) (consulte Configuración
de control del módem en la página 13 ). Habilitación de salida RS485 La función controla un controlador de línea RS485 externo cuando está en modo RS485
de 2 cables. Esta salida se puede configurar para activo alto (predeterminado) o activo bajo.
los Salida LED de diagnóstico La función para CP3 es una salida baja activa para controlar el LED de diagnóstico del servidor de dispositivos
(LED3 en el Guía de integración de XPort ). Seleccione ( Y) está en el Espere CTS
opción en el menú de funciones CP1 para Salida RTS para seleccionar automáticamente el Entrada CTS
función para CP3.
El xPico tiene 2 puertos seriales. Elija el puerto serie que utiliza el firmware para enviar y recibir datos serie Modbus / RTU o
Modbus / ASCII, en la Configuración de serie y modo opción de menú.
Nota: El canal 1 en xPico admite los modos RS-232 y RS-422 / RS-485 de 2/4 cables, mientras que el canal 2 solo
admite RS-232.
La opción de menú para Configuración de control del módem ha sido reemplazado con Configuración de pin configurable / módem en el
xPico.
Función CP5 (presione la barra espaciadora para alternar) LED de estado del canal 1
Función CP6 (presione la barra espaciadora para alternar) LED de estado del canal 2
La asignación para cada pin configurable se establece recorriendo las opciones del menú ingresando un espacio o cualquier tecla que no
sea Ingresar.
GPIO asigna el pin como una entrada o salida de propósito general. Los GPIO se pueden escribir y leer
a través de Modbus / TCP cuando está en modo esclavo adjunto.
DTR es la señal de salida de control de módem (MCO) para Terminal de datos listo. DCD es la señal de entrada
El LED de estado del canal 1 y del canal 2 muestra la actividad de las transacciones de paquetes Modbus en curso
en el servidor de dispositivos.
RS485 Select es una salida que se activa al configurar el canal serial para RS422 / 485
operación.
RTS es el pin de salida para el canal 2 para el control de flujo de hardware. CTS es la
Después de asignar la función aplicable presionando Ingresar, Luego se le pregunta si el pin está invertido (activo bajo).
Función CP1 (presione el espacio para alternar) GPIO (In) Invertir (activo bajo) (Y)?
Debe asignarse una función a cada pin configurable. GPIO (Entrada) debe ser el predeterminado para todos los pines no utilizados o
asignados.
Función CP1 (presione el espacio para alternar) GPIO (In) (Y)? Invertir (activo bajo)
Función CP2 (presione el espacio para alternar) GPIO (Out) (N)? Invertir (activo bajo)
Función CP3 (presione el espacio para alternar) DCD (IN) (N)? Canal 1 Invertir (activo bajo)
Función CP4 (presione el espacio para alternar) DTR (Out) (Y)? Canal 1 Invertir (activo bajo)
Función CP5 (presione la barra espaciadora para alternar) ¿LED de estado del canal 1 (Y)? Invertir (activo bajo)
Función CP6 (presione la barra espaciadora para alternar) ¿LED de estado del canal 2 (Y)? Invertir (activo bajo)
Función CP7 (presione el espacio para alternar) RS485 Seleccionar (Y)? Invertir (activo bajo)
Función CP8 (presione el espacio para alternar) RS485 Selección de 2 cables (Y)? Invertir (activo bajo)
Una vez que se hayan asignado todos los pines configurables, se pueden ingresar los ajustes de control del módem estándar, si corresponde.
El Micro125 tiene 1 puerto serie. Seleccione este puerto serie, que utiliza el firmware para enviar y recibir datos serie Modbus /
RTU o Modbus / ASCII, en la Configuración de serie y modo opción de menú.
Para restaurar la configuración predeterminada de fábrica del servidor de dispositivos, presione el pin de reinicio y luego presione el pin predeterminado
durante 3 a 5 segundos. El servidor de dispositivos cargará la configuración predeterminada de fábrica y se reiniciará nuevamente.
Para restaurar la configuración predeterminada de fábrica, mantenga presionado el pin de reinicio durante más de 10 segundos. Después de 10 segundos,
suelte el pin de reinicio. El servidor de dispositivos cargará la configuración predeterminada de fábrica.
Si el usuario presiona el botón de reinicio durante 0-2 segundos, la unidad simplemente se reinicia.
Nota: Con la configuración predeterminada de fábrica, la dirección IP, la puerta de enlace y la máscara de red se establecen en
0.0.0.0.
Para restaurar la configuración predeterminada de fábrica del servidor de dispositivos, presione el pin de reinicio durante 3 a 5 segundos. El servidor de
dispositivos cargará la configuración predeterminada de fábrica y se reiniciará nuevamente.
El cableado es el problema más común con las redes de dispositivos. Si ha creado un cable personalizado,
asegúrese de que su pinout sea correcto.
Idealmente, debería tener la capacidad de ver las comunicaciones de la línea serie. La mayoría de los anfitriones
las aplicaciones no explican correctamente los errores. En muchas situaciones, la aplicación host declara "Sin
respuesta" cuando, de hecho, el dispositivo respondió y la aplicación no entendió la respuesta.
Primero, recuerde que todavía tiene el enlace serial allí y, por lo tanto, no puede esperar sondear más rápido de lo que podría hacerlo mediante
un enlace serial directo. De hecho, dado que está agregando varios sistemas de cola entre su aplicación y su dispositivo, es posible que incluso
pierda un poco de rendimiento. Por ejemplo, algunas pruebas de descarga mostraron que la descarga remota de Modbus / TCP puenteada a
Modbus / RTU fue aproximadamente un 20 por ciento más lenta que la descarga directa de Modbus / RTU.
Sobre todo, recuerde que la velocidad en serie (o velocidad en baudios) consume la mayor cantidad de tiempo (consulte la tabla a continuación).
Suponga que emite una encuesta Modbus para 125 registros. Esto requiere una respuesta de 255 bytes, que a 19,2 kbps requiere más de 133 mseg
solo para desplazarse físicamente a través del cable, mientras que a 300 baudios se necesitan casi 10 segundos.
Tasa de baudios Byte / seg Bit de tiempo Byte Time 256 bytes (en segundos)
(mseg) (mseg) Tiempo (mseg)
una. Retraso para que el maestro / cliente reconozca la necesidad de realizar una encuesta.
C. Retraso para que la encuesta cruce Ethernet y llegue sin errores al dispositivo servidor del dispositivo IAP (puede incluir
reintentos y contención).
D. Retraso para que el servidor de dispositivos IAP procese y ponga en cola la encuesta Modbus / RTU.
mi. Retraso para que el enlace serial sea libre (recuerde que otros maestros / clientes pueden estar sondeando activamente).
F. Retraso físico para cambiar la encuesta bit a bit a través del enlace serial.
h. Retraso físico para cambiar la respuesta bit a bit a través del enlace serial.
I. Retraso para que el servidor de dispositivos IAP procese y ponga en cola la respuesta Modbus / TCP.
j. Retraso para que la respuesta cruce Ethernet y llegue sin errores al maestro / cliente (puede incluir reintentos y
contención).
k. Retraso para que el maestro / cliente reconozca la necesidad de realizar una encuesta.
Retrasos a y k están definidos por su controlador OPC o DDE. Por ejemplo, un controlador que se ejecuta solo una vez cada 55 mseg
(utilizando el antiguo segmento del temporizador de DOS) puede tener aquí un retardo variable de entre 0 y 110 mseg.
Retrasos C y I se definen por la complejidad y la carga de su red TCP / IP. Por ejemplo, si va a través de enlaces de
radio o satélite, estos retrasos ascienden habitualmente a 1000 mseg (1 seg) o más por encuesta y otros 1000
mseg para una respuesta.
Retrasos F y h se definen por la velocidad en baudios. Suponiendo una encuesta de 8 bytes y una respuesta de 255 bytes, a 9600 baudios
esto es al menos 275 ms, mientras que a 1200 baudios, esto es al menos 2200 ms (2,2 segundos).
Demora gramo está definido por el dispositivo. Curiosamente, cuanto más simple es el dispositivo, más rápido tiende a responder. Algunos
controladores solo asignan porciones de tiempo fijo para procesar una respuesta desde la memoria compartida, por ejemplo, una vez cada 100
milisegundos.
Retrasos d, e, y I están definidos por la carga en el servidor de dispositivos IAP. Si otro maestro / cliente está sondeando, el retraso de la
cola para mi puede ser grande (la suma de los retrasos f, g, y h) para cada encuesta anterior en espera.
Además de la obvia velocidad en baudios incorrecta, hay muchas causas posibles de esto:
¿Su cable está configurado correctamente para RS232 o RS485? En el XPress DR-IAP, ¿es el rojo externo
interruptor configurado correctamente?
El XPress DR-IAP tiene una tierra flotante que está completamente aislada de la fuente de alimentación. Un externo
A menudo se requiere una conexión a tierra de señal entre el IAP y su dispositivo.
El firmware del servidor del dispositivo IAP solo espera Modbus / TCP de la red. Algunas aplicaciones
simplemente empaquete Modbus / RTU sin procesar en TCP; esto no es compatible.
Su aplicación está configurando el campo ID de unidad Modbus / TCP en 0. Esto hace que el firmware del servidor del dispositivo IAP lo asigne
automáticamente a 1.
Lo más probable es que esté utilizando RS485, pero de todos modos, es probable que su dispositivo no pueda aceptar una nueva encuesta tan
rápido como la envía el firmware del servidor del dispositivo IAP. TCP / IP es un canal de dúplex completo y, dado que puede tener hasta 8
sockets activos, es muy fácil tener una nueva solicitud esperando mientras se devuelve su última respuesta. La única solución a esto es ralentizar
sus maestros Modbus / TCP para que nunca sondeen antes de que se haya visto la última respuesta. Esto crea manualmente el retraso de tiempo
entre las encuestas que espera su dispositivo.
El servidor de mi dispositivo IAP funciona bien, durante unos 10 minutos y luego mis aplicaciones comienzan a informar
esclavos desconectados.
El servidor de mi dispositivo IAP funciona bien, hasta que un esclavo se desconecta; entonces tiendo a perder a todos los esclavos o
todos sondean sólo de forma intermitente.
A veces, el servidor de mi dispositivo IAP devuelve los datos incorrectos del esclavo incorrecto.
Después de un tiempo, el servidor del dispositivo IAP parece tardar más y más en responder, después de unos pocos
horas, se necesitan 10 minutos o más para que los cambios de sistemas se propaguen al maestro / cliente.
Todos estos se relacionan con el mismo problema: una falta de coincidencia en el comportamiento de la cola y las expectativas del maestro / cliente con
respecto a las nuevas realidades de Ethernet. (No es que el servidor de dispositivos IAP se comporte mal). Restablecer el servidor de dispositivos IAP
soluciona el problema (elimina las colas de TCP infladas llenas de solicitudes obsoletas).
El problema principal es que el maestro / cliente está utilizando la antigua suposición de serie RS485 de que si no hay respuesta significa que se perdió la
encuesta. Sin embargo, en el caso del servidor de dispositivos IAP, también podría significar que el servidor de dispositivos IAP no ha tenido tiempo de
responder (está sobrecargado de trabajo). Recuerde también que TCP es confiable: el servidor de dispositivos IAP recibe todas las encuestas enviadas sin
errores. El resultado es que el maestro / cliente vuelve a intentarlo, lo que dificulta que el servidor de dispositivos IAP se ponga al día.
2. El servidor de dispositivos IAP recibe la encuesta, pero el enlace serial está ocupado, por lo que espera; posiblemente se esté atendiendo a otro maestro
MB / TCP o los tiempos de espera en las estaciones fuera de línea están creando una acumulación de nuevas solicitudes.
3. Después de aproximadamente 850 mseg, el enlace serial ahora está libre y el servidor del dispositivo IAP reenvía la solicitud MB / RTU.
4. El servidor del dispositivo IAP recibe la respuesta y, dado que el tiempo de espera en el servidor del dispositivo IAP y el maestro no están
sincronizados de forma inherente, el servidor del dispositivo IAP envía la respuesta MB / TCP al socket TCP.
5. En el mejor de los casos, esta respuesta puede tardar entre 5 y 10 ms en bajar por la pila TCP del servidor de dispositivos
IAP, por el cable y subir por la pila TCP del maestro. Si hay una WAN o un satélite involucrado, podría tardar 750 mseg
o más.
6. Mientras tanto, antes de que el maestro reciba la Respuesta # A, se rinde y hace la suposición Modbus / RTU de que la
solicitud debe haberse perdido. El maestro envía una nueva encuesta MB / TCP #B.
7. Unos milisegundos más tarde, hay una respuesta que parece una buena Respuesta #B, pero en realidad es la Respuesta #A. Si el maestro no
usa un número de secuencia (que muchos no lo hacen) y se ha olvidado de la encuesta pendiente #A, asume erróneamente que esta es la
respuesta #B (posiblemente con resultados catastróficos si la encuesta #B tenía el mismo tamaño pero un rango de registro diferente) . Aquí
está la fuente del problema. "El servidor de dispositivos IAP devuelve los datos incorrectos para el esclavo incorrecto".
8. El maestro está inactivo y no tiene encuestas pendientes. Sin embargo, el servidor del dispositivo IAP ha recibido Poll
# B por TCP / IP. Envía esto al esclavo Modbus / RTU y obtiene una respuesta. ¡El servidor de dispositivos IAP está haciendo su trabajo!
9. El servidor de dispositivos IAP devuelve la Respuesta #B al maestro (si el socket aún está abierto) y allí se encuentra
en su búfer TCP / IP. El maestro no espera más respuestas, por lo que no recibe ni purga la respuesta "extra".
10. El maestro envía Poll #C y mágicamente encuentra "una respuesta" esperando tan pronto como busca en el búfer de recepción - sin
embargo, esta respuesta #B está obsoleta antes de que se emitiera la encuesta #C. Si el maestro lo hace no implementar números de
secuencia Modbus / TCP, luego acepta la respuesta
# B como encuesta satisfactoria #C. Imagínese si el maestro está emitiendo 300 sondeos por minuto (5 sondeos por segundo), pero el
servidor de dispositivos IAP solo puede procesar un promedio de 290 de esos por minuto y algunos se transfieren. Después de 10
minutos, puede tener hasta 100 respuestas "obsoletas" esperando en el búfer TCP de su maestro. Esto hace que parezca que ahora hay
un "retraso" de 20 segundos en los datos que llegan al maestro. Aquí está la fuente del problema de que “los datos tardan cada vez
más en propagarse al Maestro / Cliente”.
Sin embargo, si el maestro hace implementar números de secuencia Modbus / TCP, luego se rechazan las respuestas obsoletas. Si el maestro es lo
suficientemente inteligente como para resincronizarse a sí mismo (la respuesta #B no mata la encuesta #C, pero el maestro espera más), entonces esta
resincronización se manifestará como esclavos desconectarse y volver a conectarse de forma intermitente. Si el maestro no es lo suficientemente
inteligente para resincronizar, una vez que se produce este comportamiento de desincronización, su los esclavos se desconectan permanentemente.
Como puede ver, este maestro Modbus / TCP no está sincronizado y la única solución puede ser reiniciar el maestro o apagar y
encender el servidor del dispositivo IAP. Ambas acciones cierran el socket y depuran los mensajes atrasados.
Nuestro producto Network-to-Serial resalta esta deficiencia en los diseños de Modbus / TCP maestro / cliente, pero incluso una
red MB / TCP a MB / TCP pura sufriría este problema si el ciclo de sondeo se acerca al tiempo de respuesta promedio.
Cualquier red Modbus / TCP que pase por WAN lo descubrirá.
Idealmente todos Las aplicaciones maestras Modbus / TCP deben implementar el número de secuencia y manejar con elegancia la recepción de
respuestas obsoletas con números de secuencia inesperados. Desafortunadamente, la especificación Modbus / TCP dice que este número de secuencia
es opcional y puede ser utilizado por un maestro para hacer coincidir las respuestas con las solicitudes; sin embargo, normalmente se puede dejar como
cero. El esclavo Modbus / TCP simplemente repite esto en la respuesta. Por tanto, la mayoría de los servidores OPC Modbus / TCP actuales no
implementan el número de secuencia.
Afortunadamente, está empezando a llegar una segunda generación de maestros Modbus / TCP que comprende los problemas de tratar con un
servidor de dispositivos IAP en serie. Entonces, ¿cuál es su solución si su maestro Modbus / TCP es de primera generación?
Reduzca la velocidad de su encuesta. Debe considerar el tiempo de respuesta en el peor de los casos: asumir todas las encuestas
se acabó el tiempo. Si tiene cinco esclavos que normalmente responden en menos de 100 milisegundos cada uno, pero debe usar un tiempo de
espera de mensaje de 250 milisegundos, entonces el sondeo de cada uno de los cinco 1.25 segundos es la única tasa segura prometida.
Si solo está interrogando a un esclavo (o interrogando a un esclavo a la vez), puede probar la opción "Desactivar
Opción Pipeline ”en el firmware del servidor del dispositivo IAP. Esto ayudará o empeorará las cosas irremediablemente. Si su
servidor OPC o aplicación de host se basa en la canalización para enviar más de una encuesta pendiente a la vez, la
desactivación de la canalización básicamente detendrá toda la comunicación de datos. (En cuyo caso, ¡puede volver a encender
la tubería!)
La solución ideal (la solución de segunda generación) es que su maestro / cliente Modbus / TCP no solo
admite el número de secuencia, pero también admite la recepción de la respuesta de excepción Modbus / TCP extendida 0x0A y
0x0B. Entonces el maestro / cliente nunca necesita hacer reintentos; para cada encuesta, será recibir un valor de respuesta Modbus /
TCP o una excepción Modbus / TCP de que el esclavo no está disponible o se agotó el tiempo de espera. Esto evita que el maestro /
cliente envíe más sondeos de los que el servidor de dispositivos IAP puede procesar y, en primer lugar, crea la cola del búfer TCP.
Para ponerse en contacto con soporte técnico o ventas, busque su oficina local en
http://www.lantronix.com/about/contact.html . Cuando informe un problema, proporcione la siguiente información:
problema
Estado de la unidad cuando ocurrió el problema (intente incluir información sobre el usuario y
actividad de la red en el momento del problema).