Au04 Sesion 02

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 29

Programa de Automatización

en Sistemas de Potencia
AU04
PROTOCOLOS DE COMUNICACIÓN EN
SUBESTACIONES
SESIÓN 02
MODBUS

11/10/2022 © REDELCOM 2022

AGENDA

01 Medios físicos 20’

02 Modbus 20’

03 Capa de aplicación 30’

04 Modbus serial 30’

05 Modbus TCP/IP 20’

© REDELCOM 2022
Medio físicos

© REDELCOM 2022

Modos de transmisión serial

Desbalanceado Balanceado
• Cada señal se transmite como • Es un sistema diferencial de
un voltaje con referencia a tierra voltaje entre conductores
• Se necesita un cable por señal a • Cada señal requiere dos cables
transmitir, aparte de la tierra aparte de la tierra común

© REDELCOM 2022
RS-232 VS EIA-232

• RS-232 Es un estándar recomendado por el cual dos


dispositivos se comunican; revisado por la asociación de
Industrias Eléctricas (EIA)
• Generalmente la practica recomienda distancias no mas de
15 metros sobre medios de cobre
• Este estándar no define el protocolo, pero si la funcionalidad
de la interfaz física

© REDELCOM 2022

EIA-232 Tipos de Conector

• Conexión con 2 tipos principales de hardware

Equipo Terminal de Datos (DTE): Computadoras, reles,


Dispositivos Electronicos Inteligentes (IEDs), etc., son DTE

Equipo de Comunicación de Datos (DCE): Equipos de


comunicación como transceivers, convertidores de medio, etc.,
pueden ser DTE o DCE

© REDELCOM 2022
EIA-232 Tipos de Conector

Directo Cruzado
© REDELCOM 2022

¿Qué es EIA-485?

• Interfaz de comunicaciones que utiliza un proceso de señal


equilibrada o diferencial para admitir aplicaciones punto a
punto, punto a multipunto y multidrop

• Dos cables o cuatro cables

© REDELCOM 2022
EIA-232 EIA-485
Especificaciones RS-232 RS-485
Modo de operación Terminación única Diferencial
Número total de controladores y receptores en 1 Controlador 32 Controladores
una línea (un controlador está activo a la vez 1 Receptor 32 Receptores
para redes RS-485)
Máxima longitud de cable 15 mts 1200 mts
Máxima velocidad de datos (12 a 1200 mts para 20 kbps 10 Mbps to
RS-422/RS-485) 100 kbps
Voltaje máximo del controlador +/–25 V –7 V to +12 V
Nivel de señal de salida del controlador +/–5 V to +/–1.5 V
(Cargado Min.) +/–15 V
Nivel de señal de salida del controlador +/–25 V +/–6 V
(Descargado Max)

© REDELCOM 2022

EIA-485 Full Duplex

• Estándar de cuatro hilos


• Todas las conexiones de dispositivos son consistentes
• Requerido para aplicaciones punto a multipunto como IEC-
101/104,DNP3 Modbus®

© REDELCOM 2022
EIA-485 Half Duplex

• Estándar de dos hilos


• Solo un dispositivo puede hablar a la vez
• ¿Las polaridades coincidentes de RX y TX están unidas? (+ A +
y - a -); RX / TX usa las mismas líneas de datos
• Admite protocolos direccionables, como DNP3 o Modbus

© REDELCOM 2022

Resistencias de terminación EIA-485

• Se utiliza para hacer coincidir la impedancia del nodo EIA-


485 TX con el cableado de comunicaciones en uso
• Si el cable no está terminado en la impedancia adecuada,
una parte del mensaje se refleja en el transmisor y los datos
se truncan
• Conecte +/– (o A / B) pares de transmisor / receptor; Solo en
los extremos de la red.
• Utilice resistencias en el rango de 120 a 150 ohmios.

© REDELCOM 2022
Estándares LAN basados en Ethernet
Estándar Data Rate Descripción
IEEE 802.3 10 Mbps 10BASE-5 sobre coaxial cable, “Red Gruesa

IEEE 802.3a 10 Mbps 10BASE-2 Sobre coaxial cable, “Red Delgada”

IEEE 802.3i 10/100 Mbps 10/100BASE-T Sobre cobre , “Par trenzado”

IEEE 802.3ab 1 Gbps 1000BASE-T Gigabit Par trenzado (Cat 5e or Cat 6)

IEEE 802.3j 10 Mbps 10BASE-F Sobre Fibra

IEEE 802.3u 100 Mbps 100BASE-TX/FX (Ethernet rapido Cat 5e or 1,300 nm fiber)

IEEE 802.3z 1 Gbps 1000BASE-SX Gigabit Ethernet Sobre 850 nm multimode fiber

IEEE 802.3z 1 Gbps 1000BASE-LX Gigabit Ethernet Sobre 1,300 nm single-mode fiber

© REDELCOM 2022

Medios Ethernet comunes para subestaciones


modernas

© REDELCOM 2022
Modbus

© REDELCOM 2022

Reseña

• Originalmente desarrollado por Modicon® en 1979 para interactuar con sus


controladores lógicos programables (PLC)
• Modicon fue adquirido por AEG, y esta por Schneider
• Alrededor del 2000, con el surgimiento de Ethernet Industrial, Schneider lanzó
Modbus TCP
• En abril del 2002, Schneider transfiere sus derechos, títulos e intereses sobre el
protocolo Modbus en favor de Modbus Org. (www.modbus.org)
• En 2020 Modbus Org. reemplaza la denominación del paradigma
Maestro/Esclavo por Cliente/Servidor

© REDELCOM 2022
Arquitectura general

© REDELCOM 2022

Comparativa

Ventajas Desventajas
• Robusto • Sin marcas de tiempo o calidad
• Fácil de usar e implementar en los datos

• Uso bastante extendido • No estandariza el formado de


los datos transmitidos
• Bastante confiable
• Sin soporte para datos de
eventos
• Solo proporciona datos de valor
actual
© REDELCOM 2022
Pila de comunicación Modbus

© REDELCOM 2022

Capa de aplicación

© REDELCOM 2022
Trama general Modbus

ADU

Additional address Function Code Data Error check

PDU

© REDELCOM 2022

Transacciones Modbus

Cliente Servidor

[Function Code][Data Request]

[Function Code][Data Response]

[Functión Code][Data Request]

[Exceptión Function Code][Exception Code]

© REDELCOM 2022
PDUs del protocolo Modbus

• El protocolo Modbus define tres PDUs:


 Solicitud
mb_req_pdu (MODBUS Request PDU)
 Respuesta
mb_rsp_pdu (MODBUS Response PDU)
 Respuesta de excepción
mb_excep_rsp_pdu (MODBUS Exception Response PDU)
• El tamaño del PDU Modbus está limitado a 253 bytes

© REDELCOM 2022

PDU Solicitud

mb_req_pdu = {function_code, request_data}


function_code [1 byte] Código de función Modbus
request_data [n bytes] Este campo depende del código de
función y usualmente contiene información
como referencias de variables, recuento
de variables, desplazamiento de datos,
códigos de subfunción,

© REDELCOM 2022
PDU Respuesta

mb_rsp_pdu = {function_code, response_data}


function_code [1 byte] Código de función Modbus
response_data [n bytes] Este campo depende del código de
función y usualmente contiene información
como referencias de variables, recuento
de variables, desplazamiento de datos,
códigos de subfunción,

© REDELCOM 2022

PDU Respuesta de excepción

mb_exep_rsp_pdu = {exception-function_code, request_data}


exception-function_code [1 byte] Código de función Modbus + 0x80
exception_code [1 byte] Código de excepción Modbus

© REDELCOM 2022
Modelo de datos Modbus

Tablas primarias Tipo de objeto Tipo de dato Comentario


Este tipo de dato puede ser
Discrete Input Single bit Solo Lectura
proporcionado por un sistema de E/S
Lectura / Este tipo de dato puede ser modificado
Coils Single bit
Escritura por un programa de aplicación
Este tipo de dato puede ser
Input Register 16-bit word Solo Lectura
proporcionado por un sistema de E/S
Lectura / Este tipo de dato puede ser modificado
Holding Register 16-bit word
Escritura por un programa de aplicación

© REDELCOM 2022

Direccionamiento Modbus

Read Input [0]


1
Discrete ·
·
Input ·
1
· Read Coil [5]
Coils 6
·
1 Read Register [1]
Input 2
·
Registers ·
1
Holding ·
· Read Register [54]
Registers 55

Memoria IED Modelo de datos Direcciones en PDU


© REDELCOM 2022
Read Coils
• Permite leer desde 1 hasta 2000
estados de coils
• En la PDU se especifica la
dirección inicial y el número de
datos solicitados
• Los estados en el mensaje de
respuesta están empaquetados
un coil por cada bit en el campo
de datos
• El LSB del primer byte contiene
la salida direccionada
© REDELCOM 2022

Función [0x01] Read Coils


Solicitud
Código de función 1 byte 0x01
Dirección inicial 2 bytes 0x0000-0xFFFF
Cantidad de Coils 2 bytes 1-2000(0x07D0)
Respuesta
Código de función 1 byte 0x01
Cantidad de bytes 1 byte N*
Estados de Coils n bytes n=N o N+1
Respuesta de error
Código de función 1 byte 0x81
Código de excepción 1 byte 0x01 - 0x04

*N=Cantidad de salidas / 8. Si residuo ≠ 0, N=N+1


© REDELCOM 2022
Read Discrete Inputs
• Permite leer desde 1 hasta 2000
estados de discrete inputs
• En la PDU se especifica la
dirección inicial y el número de
datos solicitados
• Los estados en el mensaje de
respuesta están empaquetados
un input por cada bit en el
campo de datos
• El LSB del primer byte contiene
la salida direccionada
© REDELCOM 2022

Función [0x02] Read Discrete Inputs

Solicitud
Código de función 1 byte 0x02
Dirección inicial 2 bytes 0x0000-0xFFFF
Cantidad de Inputs 2 bytes 1-2000(0x07D0)
Respuesta
Código de función 1 byte 0x02
Cantidad de bytes 1 byte N*
Estados de Inputs n bytes n=N o N+1
Respuesta de error
Código de función 1 byte 0x82
Código de excepción 1 byte 0x01 - 0x04
*N=Cantidad de salidas / 8. Si residuo ≠ 0, N=N+1
© REDELCOM 2022
Read Holding Registers
• Permite leer desde 1 hasta 125
holding registers
• En la PDU se especifica la
dirección inicial y el número de
datos solicitados
• Los estados en el mensaje de
respuesta están empaquetados
con 2 bytes por cada Holding
Register
• El primer byte contiene los bits
de orden alto y el segundo los
de bajo © REDELCOM 2022

Función [0x03] Read Holding Registers

Solicitud
Código de función 1 byte 0x03
Dirección inicial 2 bytes 0x0000-0xFFFF
Cantidad de registros 2 bytes 1-125(0x7D)
Respuesta
Código de función 1 byte 0x03
Cantidad de bytes 1 byte 2 x N*
Valor de registros n bytes n=N* x 2
Respuesta de error
Código de función 1 byte 0x83
Código de excepción 1 byte 0x01 - 0x04
*N=Cantidad de registros
© REDELCOM 2022
Read Input Registers
• Permite leer desde 1 hasta 125
input registers
• En la PDU se especifica la
dirección inicial y el número de
datos solicitados
• Los estados en el mensaje de
respuesta están empaquetados
con 2 bytes por cada Input
Register
• El primer byte contiene los bits
de orden alto y el segundo los
de bajo © REDELCOM 2022

Función [0x04] Read Input Registers

Solicitud
Código de función 1 byte 0x04
Dirección inicial 2 bytes 0x0000-0xFFFF
Cantidad de registros 2 bytes 1-125(0x007D)
Respuesta
Código de función 1 byte 0x04
Cantidad de bytes 1 byte 2 x N*
Valor de registros n bytes n=N* x 2
Respuesta de error
Código de función 1 byte 0x84
Código de excepción 1 byte 0x01 - 0x04
*N=Cantidad de registros
© REDELCOM 2022
Write Single Coil

• Permite establecer el estado de


un Coil en ON u OFF
• En la PDU se especifica la
dirección y el estado deseado
 ON [0xFF00]
 OFF [0x0000]

© REDELCOM 2022

Función [0x05] Write Single Coil

Solicitud
Código de función 1 byte 0x05
Dirección de salida 2 bytes 0x0000-0xFFFF
Valor de salida 2 bytes 0x0000 / 0xFF00
Respuesta
Código de función 1 byte 0x05
Dirección de salida 2 bytes 0x0000-0xFFFF
Valor de salida 2 bytes 0x0000 / 0xFF00
Respuesta de error
Código de función 1 byte 0x85
Código de excepción 1 byte 0x01 - 0x04

© REDELCOM 2022
Write Single Register
• Permite establecer el valor de un
Holding Register
• En la PDU se especifica la
dirección y el valor deseado del
registro
• La respuesta normal es un eco
del la solicitud, que retorna el
valor del registro después de la
escritura

© REDELCOM 2022

Función [0x06] Write Single Register

Solicitud
Código de función 1 byte 0x06
Dirección de registro 2 bytes 0x0000-0xFFFF
Valor de registro 2 bytes 0x0000-0xFFFF
Respuesta
Código de función 1 byte 0x06
Cantidad de bytes 2 bytes 0x0000-0xFFFF
Valor de registro 2 bytes 0x0000-0xFFFF
Respuesta de error
Código de función 1 byte 0x86
Código de excepción 1 byte 0x01 - 0x04

© REDELCOM 2022
Códigos de error
Código Error Significado
El código de función recibido en la consulta no es una acción
0x01 Función ilegal
permitida para el servidor
Direccionamiento La dirección de datos recibida en la consulta no es una
0x02
ilegal dirección permitida para el servidor.
Valor de dato Un valor contenido en el campo de datos de la consulta no
0x03
ilegal es un valor permitido para el servidor
Falla en el Se produjo un error irrecuperable mientras el servidor
0x04
servidor intentaba realizar la acción solicitada.
El servidor ha aceptado la solicitud y la está procesando, es
0x05 Reconocimiento
necesario un período de tiempo prolongado para hacerlo
Servidor El servidor está procesando un comando de programa de
0x06
ocupado larga duración

© REDELCOM 2022

Modbus Serial

© REDELCOM 2022
Modelo de capas Modbus
MODBUS AL
Aplicación
Cliente / Servidor

Presentación

Sesión

Transporte

Red

Modbus
Enlace de datos
Maestro / Esclavo

Física EAI-232 EIA-485

OSI Modbus © REDELCOM 2022

Principios de la capa de enlace de datos

• El protocolo de línea serial Modbus es un protocolo Maestro/Esclavo


• Solo existe un Maestro a la vez conectado al bus y un máximo de 247
nodos Esclavos
• Los Esclavos nunca transmiten datos sin antes recibir una solicitud. Los
esclavos nunca se comunican entre ellos
• La comunicación siempre es iniciada por el Maestro
 Modo unicast, direccionada a un esclavo individual
 Modo broadcast, las solicitudes de difusión son necesariamente comandos de
escritura.

© REDELCOM 2022
Trama Modbus sobre línea serial

PDU

Function Code Data

Campo de dirección MODBUS PDU CRC/LRC

Modbus serial line ADU

© REDELCOM 2022

Diagrama de estados de Maestro

© REDELCOM 2022
Diagrama de estados del Esclavo

© REDELCOM 2022

Modo de transmisión RTU

• Todos los dispositivos deben implementar el modo RTU (Remote


Terminal Unit)
• Cada byte de 8 bits contiene dos caracteres hexadecimales de 4 bits
• Su mayor densidad de caracteres permite un mejor rendimiento que el
modo ASCII para la misma velocidad en baudios
• Se transmiten 11 bits por cada byte de datos

Formato de trama RTU


© REDELCOM 2022
Modo de transmisión RTU

© REDELCOM 2022

Diagrama de estados RTU

© REDELCOM 2022
Modo de transmisión ASCII
• Los dispositivos pueden implementar en forma opcional el modo ASCII
(American Standad Code for Information Interchange)
• Cada byte de 8 bits se transmite como dos caracteres ASCII
• Se utiliza cuando no se cumplen los requisitos de temporización del modo
RTU
• Se transmiten 10 bits por cada caracter ASCII

Formato de trama ASCII


© REDELCOM 2022

Diagrama de estados ASCII

© REDELCOM 2022
Modbus TCP/IP

© REDELCOM 2022

Arquitectura

© REDELCOM 2022
Trama Modbus sobre TCP/IP

PDU

Function Code Data

MBAP Header MODBUS PDU

Modbus TCP/IP ADU

© REDELCOM 2022

Cabecera MBAP

Campo Longitud Descripción


Transaction Identificación de la transacción
2 bytes
Identifier Solicitud/Respuesta Modbus
Protocol
2 bytes 0=Protocolo Modbus
Identifier
Length 2 bytes Número de bytes siguientes
Unit Identificación de esclavo
1 byte
Identifier remoto en línea serial

© REDELCOM 2022
¿Preguntas?

© REDELCOM 2022

También podría gustarte