Upload
lamtuyen
View
265
Download
1
Embed Size (px)
Citation preview
TRABAJO PRÁCTICO FINAL
CÁTEDRA DE INSTRUMENTACIÓN AVANZADA
IMPLEMENTACIÓN DE MAESTRO MODBUS RTU
EN NI-LABVIEW
Departamento de Ingeniería Eléctrica
Universidad Nacional de Mar del Plata
Alumno: Ezequiel Eduardo Leidi
Mat.: 13218
Carrera: Ingeniería Eléctrica
Agosto de 2016
Modelo OSI (Open Systems Interconnection) - OSI
Pretende estructurar y estandarizar comunicaciones y redes.
Dos sistemas A y B se comunican a través de la arquitectura de capas (redes públicas y/o privadas) sin importar diferencias entre componentes físicos
Interoperabilidad
2
Modelo OSI (Open Systems Interconnection) - OSI
Cada capa añade al
mensaje un encabezado
(excepto la capa 1)
La capa 2 añade
además un «trailer»
3
Modelo OSI (Open Systems Interconnection) - OSI
Capa física
Elementos mecánicos, eléctricos u óptica al medio, necesaria para comenzar, mantener y romper la conexión física
Capa de enlace de datos
Especifica cómo las tramas se van a enviar a la red
Detección de error
Capa de aplicación
Provee servicio a las aplicaciones que van a usar los usuarios de la red
4
Modelo OSI de Modbus Serial 5
Capa física (1/7)
RS-232
Full Dúplex
Punto-punto
DTE y DCE
(-12;-3)V y (3,12)V
Flow Control – Handshaking
Asíncrono por carácter – síncrono por bit
Longitud máxima: 25 m con un cable de 100 pF/m .
6
Capa física (1/7)
RS-232
7
Capa física (1/7)
RS-485
Half-Dúplex
Topologías
Bus
Anillo
No Flow Control – Handshaking
(-1.5;-0.2)V y (+1.5;0.2V)
Pueden usarse repetidores
8
Capa física (1/7)
RS-485 9
Capa Enlace de Datos (2/7) 10
Capa Enlace de Datos (2/7) 11
Capa de aplicación (7/7): MODBUS SERIAL
Ciclo de pregunta-respuesta
12
Capa de aplicación (7/7): MODBUS SERIAL
Modos RTU y ASCII
N° máximo bytes = 250 B/paquete
CRC-LRC 16 bits
N° máximo nodos = 32
Comunicación entre nodos : Maestro-Esclavo / Cliente-Servidor
Destino de mensajes
Unicast (punto-punto)
Broadcast
N° maestros máximo = 1
13
Capa de aplicación (7/7): MODBUS SERIAL
Modo Unicast
Modo Broadcast
14
MODBUS SERIAL
Funciones y códigos de operación
15
MODBUS SERIAL
Descripción de la trama MODBUS
Reglas de direccionamiento
16
MODBUS SERIAL : Modo ASCII
Trama ASCII
Orden de bits modo de Transmisión ASCII
17
MODBUS SERIAL : Modo ASCII
Ventajas ASCII
Permite tiempos de hasta 1 segundo entre caracteres sin
causar error de timeout.
Los mensajes pueden ser vistos desde una terminal ASCII
18
MODBUS SERIAL: Modo RTU
Trama RTU
Orden de bits modo de Transmisión RTU
19
MODBUS SERIAL: Modo RTU
Transmisión de chars en modo de transmisión RTU
20
MODBUS SERIAL
Ejemplo CONSULTA
21
MODBUS SERIAL
Ejemplo RESPUESTA
22
MODBUS SERIAL: Modo RTU
Ventajas RTU
Mayor densidad de caracteres, por lo tanto mayor “rendimiento” de datos que el ASCII a igual baud rate.
Todos los equipos industriales soportan este modo (no todos soportan el modo ASCII)
23
MODBUS SERIAL
Errores de excepción
24
MODBUS SERIAL
CRC (Cyclic Redundacy Check)
M: Single binary word (Mensaje)
k: key word (palabra “llave”)
r: remainder (resto de la división)
T R M , r
r (T) = r(R) ?
si no
OK Error
25
MODBUS SERIAL
CRC (Cyclic Redundacy Check)
Si M = n bits → k <= (n-1)bits → r =(n-2) bits
La división M/k se hace con la “División de polinomios de coeficientes del campo de entero de módulo 2”, y termina siendo una sucesión de operaciones XOR
No es perfecto: la probabilidad de que para un mensaje aleatorio M el resto sea un determinado r es 1/k → Conviene hacer grande a k
26
MODBUS SERIAL
CRC (Cyclic Redundacy Check)
M: 23 bits
K: 6 bits
R: 5 bits
27
MODBUS SERIAL
CRC (Cyclic Redundacy Check)
Leading zero fix convention (XOR con un palabra de n bits, r=n bits)
28
29
MODBUS SERIAL
CRC (Cyclic Redundacy Check)
30
MODBUS SERIAL
Diagrama estados del Maestro
31
MODBUS SERIAL
Diagrama estados del Esclavo
32
MODBUS SERIAL
Diagrama de Flujo: Ejecución del protocolo (modbus.org)
33
MODBUS SERIAL
Diagrama de Flujo: Ejecución del protocolo
34
MODBUS SOBRE TCP/IP
MODBUS en TCP/IP
Arquitectura de comunicación
36
MODBUS en TCP/IP
Arquitectura de comunicación
37
MODBUS en TCP/IP
Modelo OSI: Capa de Internet (3-4/7)
IP es un conjunto de protocolos que se
encargar de RUTEAR / DIRECCIONAR
cada paquete en la Internet. Cada “host”
está identificado con una dirección IP de
32 bit.
Cada participante en la red tiene una
única dirección dentro de la dirección de
red.
38
MODBUS en TCP/IP
Modelo OSI: Capa de Control de Transporte (4/7)
Conjunto de protocolos responsables de asegurar el
correcto envío de información a una o más redes.
Orientado a la conexión
End-to-end
39
MODBUS en TCP/IP
Modbus Serial define una Protocol Data Unit, independiente
de las demás capas
40
MODBUS en TCP/IP
Modbus TCP/IP define una Aplication Data Unit (ADU) que sí
servirá a las otras capas
41
MODBUS en TCP/IP
Modbus MBAP Header
42
MODBUS en TCP/IP
Transaction Identifier
Normalmente, en una MODBUS Serial el Cliente puede enviar sólo una Petición (REQUEST)
por vez.
En TCP/MODBUS, varias requests pueden ser enviadas SIN ESPERAR A LA
CONFIRMACIÓN POR PARTE DEL SERVIDOR. El “line gateway” entre MODBUS/TCP y
MODBUS serial está a cargado de asegurar la copatibilidad entre las consultas y
respuestas. (transacciones)
Dependiendo de los recursos del Servidor y del Cliente, el número máximo de
transacciones puede variar de 1 hasta 16 (NumberMaxof Client Transaction)
Protocol Identifier
Debe ser 0x0000 (MODBUS)
43
44
MODBUS en TCP/IP
Unit Identifier
MODBUS Serial ó MODBUS +
Necesaria para identificar el dispositivo esclavo conectada a la sub-network aguas abajo del
bridge(switch) o gateway. La dirección IP de destino identifica al bridge, y éste usa la MODBUS Unit
Identifier para saber a qué dispositivo mandar la request.
MODBUS TCP/IP
El Servidor MODBUS está identificado con su propia dirección IP, por lo que el Unit Identifier queda
obsoleto.
“ (using a significant slave address may cause trouble because of a bad routing by the gateway. Using a nonsignificant slave address,
the gateway will simply discard the MODBUS PDU with no trouble. 0xFF is recommended for the “Unit Identifier" as nonsignificant
value. Remark : The value 0 is also accepted to communicate directly to a MODBUS/TCP device. […] “
Puede tomar valores entre (1… 247)d
45
MODBUS en TCP/IP
Respuestas de excepción
Funciona en forma similar a MODBUS Serie
46
MODBUS en TCP/IP
Modbus Client Activity Diagram
47
MODBUS en TCP/IP
Actividad de Confirmación (respuesta del servidor)
48
MODBUS en TCP/IP
Otras consideraciones
Todos los ADU Modbus TCP/IP están registrados en el puerto
502 (puerto reservado)
Todos los campos codificados en formato «Big-Endian» (MSB
en la dirección menor)
49
IMPLEMENTACIÓN DE MODBUS RTU EN NI-LABVIEW
Implementación en NI-LabVIEW
Shared Variables
Se pueden escribir y leer a través de una red Ethernet
Timestamps
Terminar de Error
Administrables desde Proyecto (según tipo y grupo)
LabVIEW DSC Module (Datalogging and Supervisory Control) añade más funciones a las Shared Variables
Posibilidad de definir «dead-bands» para la actualización
Posibilidad de manejar alarmas
Otras
Definir Buffers FIFO
51
Implementación en NI-LabVIEW 52
Implementación en NI-LABVIEW
Shared Variables
No son mucho más lentas (o menos rápidas) que las Global
Variables
53
Implementación en NI-LabVIEW
Tareas pendientes
Acceder a las Network Published Variables desde Ethernet
Consultar subfunciones diagnóstico
Modo Ascii
DSC MODULE:
Definir bandas muertas (dead-bands) de actualización
Manejo de alarmas
Confección de diagrama fasorial de tensiones y corrientes en el panel frontal
54