Formato de los mandos:
Mando 01:
Read Datos Digitales
Con este mando se pueden solicitar una o más variables
digitales a par r de la dirección especifi cada. Los datos de respuesta se
agrupan en byte (8 datos por cada byte).
El primer byte recibido corresponde a los 8 datos con dirección más
baja, el bit menos signifi ca vo de cada byte corresponde al dato
con dirección más baja.
EJEMPLO:
SOLICITUD
Campo
Dirección de la máquina
Mando
Dirección de par da (byte high) 00
Dirección de par da (byte low) 00
N° de datos (parte high)
N° de datos (parte low)
Checksum
RESPUESTA
Campo
Dirección de la máquina
Mando
Número de bytes dados en respuesta
Datos (0-7)
Datos (8-9)
Checksum
Mando 05:
Write Digitales
Para asignar 1 a una dirección digital se debe transmi r el dato hex
0xFF00; para asignar 0 se debe transmi r el dato hex 0x0000.
Cualquier otro po de dato se ges ona como un error.
La respuesta normal es un eco de la solicitud si la asignación del
dato ha fi nalizado con éxito.
EJEMPLO:
SOLICITUD
Campo
Dirección de la máquina
Mando
Dirección (byte high)
Dirección (byte low)
Dato nuevo (parte high)
Dato nuevo (parte low)
Checksum
RESPUESTA
Campo
Dirección de la máquina
Mando
Dirección (byte high)
Dirección (byte low)
Dato nuevo (parte high)
Dato nuevo (parte low)
Checksum
hex
01
01
00
0A
...
hex
01
01
02
0E
03E
...
hex
01
05
00
00
FF
00
...
hex
01
05
00
00
FF
00
...
Mando 03:
Read Datos Analógicos
Con este mando se pueden solicitar una o más variables y enteras a par r de la
dirección especifi cada. La codifi cación adoptada es binaria en complemento a 2. Las
variables analógicas se representan en décimos (por ejemplo: el valor 10,0 se transmi-
te como 0064h = 100d), las enteras se transfi eren con el valor efec vo (por ejemplo:
100 se transmite como 0064h = 100d).
Las variables enteras son aquéllas con dirección mayor de 128.
El número de datos solicitados se en ende a par r de la dirección.
EJEMPLO:
SOLICITUD
Campo
Dirección de la máquina
Mando
Dirección de par da (byte high) 00
Dirección de par da (byte low) 00
N° de datos solicitados (parte high)
N° de datos solicitados (parte low)
Checksum
RESPUESTA
Campo
Dirección de la máquina
Mando
Número de bytes dados en respuesta
Byte hight dato 0
Byte low dato 0
Checksum
Mando 06:
Write Datos Analógicos
Con este mando se puede escribir una variable analógica o entera.
La codifi cación adoptada es binaria en complemento a 2.
Las variables analógicas se representan en décimos (por ejemplo: el valor 10,0 se trans-
mite como 0064h = 100d), las enteras se transfi eren con el valor efec vo (por ejemplo:
100 se transmite como 0064h = 100d).
Las variables enteras son aquéllas con dirección mayor de 128.
La respuesta normal es un eco de la solicitud si la asignación del dato ha fi nalizado
con éxito.
EJEMPLO:
SOLICITUD
Campo
Dirección de la máquina
Mando
Dirección (byte high)
Dirección (byte low)
Dato nuevo (parte high)
Dato nuevo (parte low)
Checksum
RESPUESTA
Campo
Dirección de la máquina
Mando
Dirección (byte high)
Dirección (byte low)
Dato nuevo (parte high)
Dato nuevo (parte low)
Checksum
GESTIÓN DE TIMEOUT Y ERRORES DE COMUNICACIÓN
A con nuación se analizan los posibles casos en los que puede producirse la comuni-
cación y el comportamiento previsto por el master y por el slave como protocolo.
1.
El slave recibe la solicitud sin errores de comunicación: slave: responde come lo
ha programado el master : debe prever un meout en la respuesta del slave de
por lo menos 500 mS para darle la posibilidad de elaborar los datos.
2.
El slave no recibe la solicitud por un error de comunicación del slave: no da
ninguna respuesta al master: debe prever un meout en la respuesta.
(hex)
01
03
00
02
...
hex
01
03
04
0c
03
...
(hex)
01
06
00
00
1B
00
...
hex
01
06
00
00
1B
00
...
21