Comunicaciones industriales Modbus Mod bus – Eth Etherne ernett
COMUNICACIONES
Protocolos y capas : modelo OSI
Podemos enten der las comunicac iones como una estructura repartida en d istintas capas. Cada Cada capa o nivel ni vel ttie iene ne un propósit o concret o: Elabo ra r los datos, empaquet arlos y transportarlos.
El modelo OSI usa 7 capas para jerarquizar los principales elementos de una red de
Aplicación Presentación Sesión Red Enlace Medio físico
Capas para el Proceso de Datos
Capas para la transmisión
COMUNICACIONES
Protocolos y capas : modelo OSI
Soluc iones específicas ad ecuadas a cada n ecesidad Definición de unos mensajes y datos específicos para resolver cada tarea.
Aplicación
Sistema de acceso al medio Coordinación de equipos para escribir en la red de forma secuencial.
Mecanism os de c on exión física
Enlace Medio de transmisión, tecnologías de transmisión, conectores, velocidades, etc. Medio físico
MODBUS y el modelo OSI MODBUS ES UN PROTOCOLO DE APLICACIÓN Aplicación
Soluc iones específicas ad ecuadas a cada n ecesidad Definición de unos mensajes y datos específicos para resolver Capa cada 7tarea.
Modelo OSI
Usado en varios medios Y otras uniones: fibra, infrarojos, radio, wi-fi, etc…
Unión Serie MODBUS SERIE
Modbus Plus Token ring rin g
Master/Slave RS232, RS485
Modbus
Ethernet TCP/IP
MODBUS y el modelo OSI MODBUS ES UN PROTOCOLO DE APLICACIÓN BASADO EN EL MODELO Petición CLIENTE/SERVIDOR
Cliente
A quével oci da d Gir a el mot mot or?
Servidor
1,000 rpm
Respuesta
El Cliente es la entidad que demanda el servicio
El Servidor es la entidad que presta el servicio
Modbus serie 3-Aplicación 2-Enlace 1-Medio físico
Protocolos y capas
CAPA FISICA
Representa el medio físico a través del cual podemos transmitir información de un sistema al otro
Cable eléctrico
Fibra óptica
Ondas electromagnéticas (Wireless)
1-Medio físico
CABLE ELECTRICO
Tres tipos de interfaces estandarizadas Multi-punto y punto-a-punto
RS485 2 hilos
Básico
RS485 4 hilos
Opcional
Para integración en instalaciones existentes sin modificación
RS232
Opcional
Modo punto-a-punto 15 metros max.
e oc oc a es e ransm s n : 9600 bps y 19200 bps básicas con 19.2 Kbps por defecto Otras velocidades: 1200, 2400, 4800, 38400, 56 Kbps, 115 Kbps opcional
Modbus RS485 2 hilos : instalación Master
Topología: Topología: tipo bus
T
R 5V 650 ohms
-
par balanceado B+ 120 ohms 1nF
650 ohms
Común
Polarización de la linea R
120 ohms 1nF
PG
R
T T Cuando se producen conmutaciones de transmisores, hay espaci os de tiempo en el : su estado es Max. de dispositivos Slave 1 Slave n conectado que la linea no tiene ningún transmisornúmero y por tanto nc uyen o e ma maes ro s n repe or INDETERMINADO. Esto representa un peligro ya que los receptores podrían detectar flancos que forzar el bus a un estado : Max. longitud Hay La longitud depende de: (bit START) o bits inexistentes. Segmento principal : 1,000 metros a 19,200 bits/s Tipo de cable conocido. Derivaciones: 40 metros en total Velocidad Velocidad de transmisión de datos estado de reposo en comunicación asíncrona debe ser uncada 0 lógico. El (max. 20m derivación) Número de esclavos
Topologías Modbus serie RS485
Una configuración RS485 está basada en un segmento lineal de b u s a lo largo del conectando participantes, mediante conexión directa (encadenamiento, daisy-chain) o mediante derivaciones. Ninguna derivación debe metros. La superar los 20 metros. suma total de las derivaciones no debe superar los 40 metros.
Acceso al medio MODBUS Serie
Maestro
= Cliente
MAESTRO - ESCLAVO
= Servidor
Esclavo
30 ms
Procesamiento de la petición Respuesta
Time-Out Reenvío petición El Time- Time -out out y número de Enlace reenvíos es configurable
Acceso al medio MODBUS Serie
MAESTRO - ESCLAVO
Sólo el maestro puede interrogar a los esclavos Maestro
Sólo puede existir un único maestro en la red
Esclavo 2
Esclavo 1
Los esclavos sólo comunican cuando les interroga el maestro
Esclavo 3
No puede existir comunicación entre esclavos
Enlace
Modbus
Historia
A finales de los 60 la empresa Bedford MA propuso a General Motors un sistema al que llamó Modular Digital Controller o MODICON. MODICON . El MODICON 084 fue el primer PLC producido comercialmente -La habilidad de comunicación entre los PLC’s apareció aproximadamente en el año 1973. El primer sistema que lo hacía fue el MODBUS de Modicon. Modicon. -Fue en 1979 cuando Modicon “publicó” de forma abierta y estandarizó el protocolo MODBUS, MODBUS, ... uno de los más conocidos y populares en la industria debido que: Código totalmente abierto y libre de royalties Sencillo de implementar (en días..no en meses para los desarrolladores) Fácil intercambio de bits y words entre dispositivos - En la actualidad infinidad de compañías industriales de de automatización automatización desarrollan desarrollan equipos para dialogar en Modbus, mediante conexión serie o ethernet
Aplicación
Capa aplicación MODBUS Un único formato de mensaje independiente del equipo o el fabricante Capa de Aplicación n Bytes
1 Byte Enlace
Código Función
DatosTrama ( este campo Modbusdepende del ‘código de función’ )
z Lectura/escritura datos Diagnóstico, Run /Stop etc …
Aplicación 1 a 127
n ormac n a c ona en unc n e c petición o respuesta .
Enlace
go e
P.e. : si código = 03 ( Read Output Register ) en el campo de datos hay que indicar a partir de qué número de registro y la cantidad de objetos a leer .
Capa aplicación MODBUS Un único formato de mensaje independiente del equipo o el fabricante Capa de Aplicación 1 Byte
CODIFICACION DEn LA TRAMA Bytes
Código Función
DatosTrama ( este campo Modbusdepende del ‘código de función’ )
Dos tipos de modos de transmisión según la codificación de la trama: Modbus RTU: Se codifica en paquetes de 11 bits en binario binario.. A A cada byte . Este m od o es el básic o y lo deben tener todos los equipos comunicables en Modbus Modbus ASCII: Modo Opcional que codifica los datos en hexadecimal hexadecimal,, en comandos ASCII. Se codifica en paquetes de 10 bits donde a los 7 bits de datos se le añaden otros de control
Capa aplicación MODBUS
Tres categorías de ‘código de función’ Códigos Función
Público
127
Validado por la organización ‘Modbus.org’ Documentado públicamente
1 Byte
Código único garantizado
Código Función
Público
110 NO TODOS LOS EQUIPOS SOPORTAN nTODOS Bytes LOS CODIGOS DE FUNCION User defined 100 AUNQUE SEAN LOS CODIGOS PUBLICOS
Datos ( este campo depende del Definido por el usuario‘código de función’ ) Puede ser implementado sin tener que ser validado por ‘Modbus.org’ No está garantizado que sean únicos
Público
72 65
Reservado
User defined
Público
Usado por ciertas empresas y no disponible
1
Capa aplicación MODBUS Cuatro tipos de variables accesibles Discrete Inputs
Bit
Read only
SINTAXIS MODBUS : 10001 … = IEC61131 : %I …
Coils
Bit
Read/Write SINTAXIS MODBUS : 00001 … = IEC61131 : %M0 …
Input Registers
Word
Read only
SINTAXIS MODBUS : 30001 … = IEC61131 : %IW …
Holding Registers
Word
Read/Write
SINTAXIS MODBUS : 40001 … = IEC61131 : %MW0 …
Entradas digitales Datos variables de aplicación P. ej. Entradas analógicas Datos variables de aplicación
Se pueden direccionar hasta 65.536 variables de cada tipo.
EQUIVALENCIA DE LA SINTAXIS Capa aplicación MODBUS DE LAS VARIABLES accesiblesSINTAXIS Cuatro tipos de variablesSINTAXIS IEC
MODBUS
Discrete Inputs
Bit
Read only
40001
SINTAXIS MODBUS : 10001 … = IEC61131 : %I … 40002
Coils
Read/Write40003 SINTAXIS MODBUS : 00001 … = IEC61131 : %M0 …
Bit
…
Input Registers
Word
Read only
SINTAXIS MODBUS : 30001 … = IEC61131 : %IW …
00001
Holding Registers
Word
00002 Read/Write
00003 SINTAXIS MODBUS : 40001 … = IEC61131 : %MW0 …
%MW0 Entradas digitales %MW1 Datos %MW2variables de aplicación … P. ej. Entradas analógicas %M0 %M1 variables Datos de aplicación %M2
… … Se pueden direccionar hasta 65.536 variables de cada tipo.
- Códigos de función públicos para acceso a las variables Function Code Discrete inputs Bit access
Coils Input registers
Word access Holding registe rs
Decimal
Hex.
Read Discrete Inputs
02
02
Read Coils
01
01
Write Single Coil
05
05
Write Multiple Coils
15
0F
Read Input Registers
04
04
Read Holding Registers
03
03
Write Single Register
06
06
Write Multiple Registers
16
10
Mask Write Register
22
16
Read FIFO queue
24
18
- Otros códigos públicos de función Function code
access
Diagnostic
Other
Sub code
Decimal
Hex.
Decimal
Write File record
21
15
06
Read Exception status
07
07
Diagnostic
08
08
Get Com Event Counter
11
0B
Get Com Event Log
12
0C
Report slave ID
17
11
Read Device Identification
43
2B
Encapsulated Interface Transport
43
2B
00 to 18
14