Protocolo Modbus ATS 48
Protocolo Modbus ATS 48
modo RTU
El modo de transmisión utilizado es el modo RTU. El marco no contiene byte de encabezado de mensaje, ni fin de mensaje.
bytes. Se define como sigue:
69 1623736 10/2009
Protocolo Modbus
Principio
El protocolo Modbus es un protocolo maestro-esclavo.
Esclavo j
Esclavo i Esclavo k
Para la comunicación de esclavo a esclavo, el software de la aplicación debe haber sido diseñado intencionadamente: para interrogar
un esclavo y enviar de vuelta los datos recibidos al otro esclavo.
Direcciones
La dirección del esclavo puede tener un valor entre 0 y 31.
Dirección 0:
• La dirección 0 codificada en una solicitud enviada por el maestro está reservada para comunicación por difusión. Todos los esclavos,
incluyendo el ATS48, toma en cuenta la solicitud, pero no respondas a ella.
• Cuando el ATS48 ha sido configurado con la dirección 0 (valor predeterminado), tiene en cuenta las solicitudes dirigidas
entre 1 y 31 y responde a la misma dirección que cada una de estas solicitudes. Como resultado, el iniciador
se comporta como si estuviera configurado en todas las direcciones posibles (1 a 31).
Esta configuración predeterminada solo debe ser mantenida si se está utilizando una conexión punto a punto, es decir, principalmente con
conexión a una PC. Se debe configurar una dirección diferente de 0 en una red Modbus que incluya
otros esclavos.
1623736 10/2009 70
Protocolo Modbus
Funciones Modbus
La siguiente tabla indica cuáles funciones Modbus son gestionadas por el Altistart 48 y especifica sus límites.
Las funciones de "leer" y "escribir" se definen desde el punto de vista del maestro.
65 Identificación NO – –
71 1623736 10/2009
Protocolo Modbus
Solicitud
Esclavo Número de la primera palabra Número de palabras CRC16
03 o 04
no. Hola Lo Hola Lo Lo Hola
1 byte 1 byte 2 bytes 2 bytes 2 bytes
Respuesta
Esclavo Número de Valor de la primera palabra Valor de la última palabra CRC16
03 o 04 -------
no. bytese
l ídos Hola Lo Hola Lo Lo Hola
1 byte 1 byte 1 byte 2 bytes 2 bytes 2 bytes
Ejemplo: leer 4 palabras W4023 a W4026 (16#0FB7 a 16#0FBA) en el esclavo 2, usando la función 4, con:
Alarma térmica del motor tAI (W4023 = 16#0001)
• AO = Corriente del motor OCr (W4024 = 16#0001)
• ASC = 200% (W4025 = 16#00C8)
• En = 1.0 x calificación de inicio ICL (W4026 = 16#000A)
función 6
Solicitud y respuesta (el formato de marco es idéntico)
Esclavo Número de palabra Valor de la palabra CRC16
06
no. Hola Lo Hola Lo Lo Hola
1 byte 1 byte 2 bytes 2 bytes 2 bytes
Ejemplo: escribe el valor 16#000D en la palabra W4043 del esclavo 2 (ACC = 13 s).
Solicitud y re-
02 06 0FCB 000D 3AD6
sponso
1623736 10/2009 72
Protocolo Modbus
veinte
(ACC = 20 s y DES = 30 s)
Solicitud 02 10 0FCB 0002 04 0014 001E 30F4
Solicitud
Esclavo CRC16
41
no. Lo Hola
1 byte 1 byte 2 bytes
Respuesta
Esclavo Longitud del nombre Nombre del fabricante (en ASCII)
41 -------
no. del fabricante (F) Byte 0 … Byte F–1
1 byte 1 byte 1 byte F bytes
Nota: La respuesta a la función 6 es siempre positiva, es decir, el esclavo no puede enviar de vuelta una respuesta de excepción.
Ejemplo: siguiendo la solicitud del maestro Modbus, el esclavo 2 se identifica de la siguiente manera:
• Nombre del fabricante (F = 13 = 16#0D): “TELEMECANIQUE”
ALTISTART 48
ATS48D17Q
• Versión del software (número de versión . subnúmero de determinante): 1.1
• Índice de actualización de software: 01
73 1623736 10/2009
Protocolo Modbus
Solicitud 02 41 C0E0
Respuesta 02 41 0D 54 45 4C 45 4D 45 43 41 4E 49 51 55 45 -------
------- 0C 41 4C 54 49 53 54 41 52 54 20 34 38 41 54 53 2D 34 38 44 31 37 51 20 -------
------- 11 01 2C81
Respuestas de excepción
Una respuesta de excepción es devuelta por un esclavo cuando no puede realizar la solicitud que se le dirige.
Código de error
1 = La función solicitada no es reconocida por el esclavo.
Las direcciones de bits o palabras indicadas en la solicitud no existen en el esclavo.
3 = Los valores de bits o palabras indicados en la solicitud no son permisibles en el esclavo.
4 = El esclavo ha comenzado a ejecutar la solicitud pero no puede continuar procesándola completamente.
Cálculo de CRC16
El CRC16 se calcula sobre todos los bytes del mensaje aplicando el siguiente método:
El CRC obtenido se transmitirá con los bytes bajos enviados primero, y luego los bytes altos (a diferencia de los otros datos
contenido en los marcos de Modbus).
XOR = o exclusivo.
1623736 10/2009 74