Está en la página 1de 15

Sistemas de Adquisición de Datos

Comunicación con
protocolo Modbus

Instituto Politécnico Superior 1


Sistemas de Adquisición de Datos
Esquema de comunicación maestro-esclavo
Maestro
Sólo él puede iniciar la comunicación (puede ser una PC o un PLC)

Los esclavos sólo responden cuando el maestro los


Interroga. Se identifican por su dirección (ej 28)
No pueden iniciar la comunicación (responden cuando
se les pregunta ). Tampoco pueden comunicarse con otro esclavo
Esclavos: pueden ser Polling : es la consulta secuencial y continua de los
PLCs, controladores, esclavos : ej : 5 – 9 - 14 – 23 – 28 – 5 – 9 – 14 – 23 - etc
variadores de veloc, etc Protocolo multidrop (ej RS-485)

Esclavo 5 Esclavo 14 Esclavo 28 Esclavo 9 Esclavo 23

SP SP SP SP SP

Instituto Politécnico Superior


2
Sistemas de Adquisición de Datos

Formato de una trama genérica

Instituto Politécnico Superior 3


Sistemas de Adquisición de Datos

Transmisión de un carácter (ASCII) o de un número (RTU)


Se transmite un byte de datos = 8 bits de datos

Usando chequeo de paridad

Sin usar chequeo de paridad

Instituto Politécnico Superior 4


Sistemas de Adquisición de Datos

Trama para transmitir caracteres (ASCII)

Trama para transmitir sólo números (RTU)

Instituto Politécnico Superior 5


Sistemas de Adquisición de Datos

Mapa de Memoria en Modbus


Simplificado

Cant. de Bits Nombre del


del Dato y Tipo de I/O Registro
del Registro o Variable

1 DO 0xxxx

1 DI 1xxxx

16 AI 3xxxx

16 HR 4xxxx

16 AO 4xxxx

Registro = Variable
HR = registro interno usado para cálculos
Instituto Politécnico Superior 6
Sistemas de Adquisición de Datos

Comandos en Modbus
Comando = Función

Comando Descripción Registros donde


Función aplica
01 Read Coil Status 0xxxx
02 Read Input Status 1xxxx
03 Read Holding Registers 4xxxx
04 Read Input Registers 3xxxx
05 Force Single Coil 0xxxx
06 Preset Single Register 4xxxx
15 Force Multiple Coils 0xxxx
16 Preset Multiple Registers 4xxxx
Force o Preset =
Write (escribir)
Instituto Politécnico Superior 7
Sistemas de Adquisición de Datos
Esquema de comunicación maestro-esclavo con Modbus
El maestro lee o escribe
los valores almacenados en Ver tramas hoja 10
Maestro : los registros del controlador 28
pueden ser Por ej : lee el contenido del 40252
PCs o PLCs

Nº de Valor
Registro Almacenado
30012 1190 1190 ºC
Esclavos: pueden ser …….
PLCs, controladores, 40252 1240 1240 ºC

variadores de veloc, etc RS-485 o RS-422 40253 80 80%

Esclavo 28 Esclavo 5
SP Set Point , se introduce desde el
frente y es un HR => 4xxxx : Ej 40252

Sensor de Prox. – es un enclavamiento


Es un DI => 1xxxx : Ej 10034
Temperatura de proceso
Baliza. es una alarma Es un AI => 3xxxx : Ej 30012
Es un DO => 0xxxx : Ej 00018
Posición de Válvula
Es un AO = HR => 4xxxx : Ej 40253 8
Sistemas de Adquisición de Datos
Software que corre en el esclavo 28 Software que corre en el maestro

40252

40253

Instituto Politécnico Superior 9


Sistemas de Adquisición de Datos

Ejemplo de una configuración de comunicación serial.


Nota : los parámetros en azul, deben
setearse igual en todos los equipos
a conectar, tanto en el maestro como
en los esclavos. De lo contrario no se
comunicarán.

Número del puerto que se usará.


Depende cada equipo y no tiene por
que ser el mismo.
Velocidad de comunicación en bps
(2.400 / 9.600 / 19.200 / etc)
Cantidad de bits de datos ( 7 u 8 )

Paridad a usar . Odd = impar


Opciones : par / impar / sin paridad

Cantidad de bits stop ( 1o 2 )

Instituto Politécnico Superior 10


Sistemas de Adquisición de Datos

Modbus RTU

T1 T2 T3 Dirección Función Registro Chequeo (CRC) T1 T2 T3

Dirección esclavo : 28 Dec = 1 C Hex Función : 03 Dec = 0 3 Hex (Leer)


1 Hex C Hex 0 Hex 3 Hex

0 0 0 1 1 1 0 0 0 0 0 0 0 0 1 1

Registro a leer : 252 Dec = F C Hex Chequeo - CRC - : A 5 Hex


F Hex C Hex A Hex 5 Hex

1 1 1 1 1 1 0 0 1 0 1 0 0 1 0 1
Instituto Politécnico Superior 11
Sistemas de Adquisición de Datos
Modbus – modo RTU – En el PLC 28, leer
Consulta el registro 40252 cuyo valor es 1240 dec.
ADDRESS Función ó DATA DATA Error Check
Dirección Comando Registro Inicio Cantidad de CRC-16
Esclavo Mobus de lectura Registros a leer
3.5 T 8 Bits 8 Bits 2 x 8 Bits 2 x 8 Bits 2 x 8 Bits 3.5 T
28 Dec 03 Dec 252 Dec 1 Dec 95 5F Hex
1 C Hex 0 3 Hex 0 0 F C Hex 0 0 0 1 Hex

1 C 0 3 0 0 F C 0 0 0 1 9 5 5 F

Respuesta
ADDRESS Función ó DATA DATA Error Check
Dirección Comando Cantidad de Valor del ó de los CRC-16
Esclavo Mobus Bytes de dato Registros a leer
3.5 T 8 Bits 8 Bits N x 8 Bits N x 8 Bits 2 x 8 Bits 3.5 T
28 Dec 03 Dec 2 Dec 1240 Dec 75 A5 Hex
1 C Hex 0 3 Hex 0 2 Hex 0 4 D 8 Hex

1 C 0 3 0 2 0 4 D 8 7 5 A 5

Instituto Politécnico Superior 12


Sistemas de Adquisición de Datos
Modbus – modo RTU – En el PLC 28, leer
Estudiar bien esta hoja el registro 40252 cuyo valor es 1240 dec.
Ver esquema hoja 7
Consulta

38239 Dec

Respuesta

30117 Dec

Instituto Politécnico Superior 13


Sistemas de Adquisición de Datos

No entra en el parcial Modbus en modo ASCII

BOF ADDRESS Function DATA Error Check EOF Ready to


Inicio de Dirección Esclavo Función Registro a Leer LRC Fin de Receive
trama Trama response

: 2 Caracteres 2 Caracteres N x Carácter 2 Caracteres CR LF

3A 28 Dec 03 Dec 252 Dec A 5 Hex D Hex A Hex


1 C Hex 0 3 Hex F C Hex

1 C 0 3 F C A 5

3A 31 43 30 33 46 43 41 35 0D 0A

Modo ASCII : 7 bits de dato + 1 bit de comienzo + 1 ó 2 bits de parada + 0 ó 1 bit de paridad
Leer el registro 40252 , se reduce a leer el 252 , el primer 4 indica el tipo de registro
Si para leer uso ASCII con 7 bits de dato , 1 de inico, 1 de parada y 1 de paridad =>
uso 10 bits por carácter, es decir 11 x 10 = 110 bits por trama

Instituto Politécnico Superior 14


Sistemas de Adquisición de Datos
Consulta Modbus – ASCII – Leer un registro
BOF ADDRESS Function DATA DATA Error Check EOF Ready to
Inicio Dirección Función Registro Inicio Cantidad de LRC Fin de Receive
de Esclavo de lectura Registros a leer Trama Response
trama
No entra en el parcial
: 8 bits de datos 8 bits de datos 16 bits de datos 16 bits de datos 8 bits de datos CR LF
2 Caract ASCII 2 Caract ASCII 4 Caract ASCII 4 Caract ASCII 2 Caract ASCII
: 28 Dec 03 Dec 252 Dec 1 Dec A 5 Hex D Hex A Hex
1 C Hex 0 3 Hex 0 0 F C Hex 0 0 0 1 Hex
Carácter a buscar
en Tabla ASCII : 1 C 0 3 0 0 F C 0 0 0 1 A 5 D A

Posición en Tabla 3A 31 43 30 33 30 30 46 43 30 30 30 31 41 35 44 41
ASCII (en hexa)
Nota : para transmitir 8 bits de datos => max FF (hex) , necesito usar 2 caracteres ASCII
Respuesta para transmitir 16 bits de datos => max FFFF (hex) , necesito usar 4 caracteres ASCII

BOF ADDRESS Function Cant.de bytes DATA Error Check EOF Ready
Inicio Dirección Función de datos que se Valor del ó de los LRC Fin de to
de Esclavo envian a Registros a leer Trama Receive
trama continuacion respons
: 8 bits de datos 8 bits de datos 8 bits de datos 16 bits datos x Reg 8 bits de datos CR LF
2 Caract ASCII 2 Caract ASCII 2 Caract ASCII 4 Car ASCII x Reg 2 Carac ASCII
: 28 Dec 03 Dec 2 Dec 1240 Dec A 5 Hex D Hex A Hex
1 C Hex 0 3 Hex 0 2 Hex 0 4 D 8 Hex
Carácter a buscar
en Tabla ASCII : 1 C 0 3 0 2 0 4 D 8 A 5 D A

Posición en Tabla 3A 31 43 30 33 30 32 30 34 44 38 41 35 44 41
ASCII (en hexa)

Instituto Politécnico Superior 15

También podría gustarte