Protocolo Modbus-RTU
■
Los valores transmitidos son siempre números enteros, independiente de que tengan representación con
casa decimal. De esta forma, el valor 9,5 seria transmitido como siendo 95 vía serial. Consulte el manual del
SCA-05 para obtener la resolución utilizada para cada parámetro.
5.4.1
Función 01 – Read Coils
Lee el contenido de un grupo de bits internos que necesariamente deben estar en secuencia numérica. Esta
función tiene la siguiente estructura para los telegramas de lectura y respuesta (los valores son siempre
hexadecimal, y cada campo representa un byte):
Cada bit de la respuesta es colocado en una posición de los bytes de datos enviados por el esclavo. El primero
byte recibe los 8 primeros bits a partir de la dirección inicial indicada por el maestro. Los demás bytes
continúan la secuencia, caso el número de bits de lectura sea mayor que 8. Caso el número de bits leídos no
sea múltiplo de 8, los bits restantes del último byte deben ser llenados con 0 (cero).
Ejemplo 1: lectura de los bits de estado de la habilitación general (bit 1) y JOG (bit 2) de la SSW-06 en la
dirección 1 (supone habilitación general activa y JOG inactivo).
■
Dirección: 1 = 01h (1 byte)
■
Número del bit inicial: 1 = 0001h (2 bytes)
■
Número de bits leídos: 2 = 0002h (2 bytes)
En el ejemplo, como el número de bits leídos es menor que 8, el esclavo necesitó de solamente 1 byte para la
respuesta. El valor del byte es 01h, que en binario tiene la forma 0000 0001. Como el número de bits leídos es
igual a 2, solamente interesa a nosotros los dos bits menos significativos, que tienen los valores 1 = habilitado
general y 0 = sin JOG. Los demás bits, como no fueron solicitados, son llenados con 0 (cero).
5.4.2
Función 03 – Read Holding Register
Lee el contenido de un grupo de registradores, que necesariamente deben estar en secuencia numérica. Esta
función tiene la siguiente estructura para los telegramas de lectura y respuesta (los valores son siempre
representados en hexadecimal, y cada campo representa un byte):
Pregunta (Maestro)
Dirección del esclavo
Función
Dirección del bit inicial (byte high)
Dirección del bit inicial (byte low)
Número de bits (byte high)
Número de bits (byte low)
CRC-
CRC+
Pregunta (Maestro)
Campo
Dirección del esclavo
Función
Bit inicial (high)
Bit inicial (low)
No. de bits (high)
No. de bits (low)
CRC-
CRC+
Respuesta (Esclavo)
Dirección del esclavo
Función
Campo Byte Count (nr. de bytes de datos)
Byte 1
Byte 2
Byte 3
etc...
CRC-
CRC+
Respuesta (Esclavo)
Valor
Campo
01h
Dirección del esclavo
01h
Función
00h
Byte Count
01h
Estado de los bits 1 y 2
00h
CRC-
02h
CRC+
ECh
0Bh
Valor
01h
01h
01h
01h
D0h
49h
SSW-06 | 21