trabajo práctico final cátedra de instrumentación avanzada

Anuncio
TRABAJO PRÁCTICO FINAL
CÁTEDRA DE INSTRUMENTACIÓN AVANZADA
IMPLEMENTACIÓN DE MAESTRO MODBUS RTU
EN NI-LABVIEW
Alumno: Ezequiel Eduardo Leidi
Mat.: 13218
Carrera: Ingeniería Eléctrica
Agosto de 2016
Departamento de Ingeniería Eléctrica
Universidad Nacional de Mar del Plata
Modelo OSI (Open Systems Interconnection) - OSI
2



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
Modelo OSI (Open Systems Interconnection) - OSI
3
 Cada
capa añade al
mensaje un encabezado
(excepto la capa 1)
 La capa 2 añade
además un «trailer»
Modelo OSI (Open Systems Interconnection) - OSI
4

Capa física


Capa de enlace de datos



Elementos mecánicos, eléctricos u
óptica al medio, necesaria para
comenzar, mantener y romper la
conexión física
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
Modelo OSI de Modbus Serial
5
Capa física (1/7)
6

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 .
Capa física (1/7)
7
 RS-232
Capa física (1/7)
8

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

Capa física (1/7)
9
 RS-485
Capa Enlace de Datos (2/7)
10
Capa Enlace de Datos (2/7)
11
Capa de aplicación (7/7): MODBUS SERIAL
12
 Ciclo
de pregunta-respuesta
Capa de aplicación (7/7): MODBUS SERIAL
13





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
Capa de aplicación (7/7): MODBUS SERIAL
14

Modo Unicast

Modo Broadcast
MODBUS SERIAL
15
 Funciones
y códigos de operación
MODBUS SERIAL
16

Descripción de la trama MODBUS

Reglas de direccionamiento
MODBUS SERIAL : Modo ASCII
17
 Trama
ASCII
 Orden
de bits modo de Transmisión ASCII
MODBUS SERIAL : Modo ASCII
18
 Ventajas
 Permite
ASCII
tiempos de hasta 1 segundo entre caracteres sin
causar error de timeout.
 Los mensajes pueden ser vistos desde una terminal ASCII
MODBUS SERIAL: Modo RTU
19
 Trama
RTU
 Orden
de bits modo de Transmisión RTU
MODBUS SERIAL: Modo RTU
20
 Transmisión
de chars en modo de transmisión RTU
MODBUS SERIAL
21
 Ejemplo
CONSULTA
MODBUS SERIAL
22
 Ejemplo
RESPUESTA
MODBUS SERIAL: Modo RTU
23
 Ventajas
 Mayor
RTU
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)
MODBUS SERIAL
24
 Errores
de excepción
MODBUS SERIAL
25
 CRC
(Cyclic Redundacy Check)



M: Single binary word (Mensaje)
k: key word (palabra “llave”)
r: remainder (resto de la división)
r (T) = r(R) ?
si
T
M,r
no
R
OK
Error
MODBUS SERIAL
26

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
MODBUS SERIAL
27
 CRC
(Cyclic Redundacy Check)
M: 23 bits
K: 6 bits
R: 5 bits
MODBUS SERIAL
28
 CRC

(Cyclic Redundacy Check)
Leading zero fix convention (XOR con un palabra de n bits, r=n bits)
29
MODBUS SERIAL
30
 CRC
(Cyclic Redundacy Check)
MODBUS SERIAL
31

Diagrama estados del Maestro
MODBUS SERIAL
32

Diagrama estados del Esclavo
MODBUS SERIAL
33
 Diagrama
de Flujo: Ejecución del protocolo (modbus.org)
MODBUS SERIAL
34

Diagrama de Flujo: Ejecución del protocolo
MODBUS SOBRE TCP/IP
MODBUS en TCP/IP
36
 Arquitectura
de comunicación
MODBUS en TCP/IP
37
 Arquitectura
de comunicación
MODBUS en TCP/IP
38
 Modelo
 IP
OSI: Capa de Internet (3-4/7)
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.
MODBUS en TCP/IP
39
 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
MODBUS en TCP/IP
40
 Modbus
Serial define una Protocol Data Unit, independiente
de las demás capas
MODBUS en TCP/IP
41
 Modbus
TCP/IP define una Aplication Data Unit (ADU) que sí
servirá a las otras capas
MODBUS en TCP/IP
42
 Modbus
MBAP Header
MODBUS en TCP/IP
43

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)
44
MODBUS en TCP/IP
45

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
MODBUS en TCP/IP
46

Respuestas de excepción

Funciona en forma similar a MODBUS Serie
MODBUS en TCP/IP
47

Modbus Client Activity Diagram
MODBUS en TCP/IP
48

Actividad de Confirmación (respuesta del servidor)
MODBUS en TCP/IP
49
 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)
IMPLEMENTACIÓN DE MODBUS RTU EN NI-LABVIEW
Implementación en NI-LabVIEW
51

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
Implementación en NI-LabVIEW
52
Implementación en NI-LABVIEW
53
 Shared
 No
Variables
son mucho más lentas (o menos rápidas) que las Global
Variables
Implementación en NI-LabVIEW
54
 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
Descargar