TRABAJO PRÁCTICO FINAL CÁTEDRA DE … · TRABAJO PRÁCTICO FINAL CÁTEDRA DE INSTRUMENTACIÓN...

Post on 02-Nov-2018

269 views 1 download

Transcript of TRABAJO PRÁCTICO FINAL CÁTEDRA DE … · TRABAJO PRÁCTICO FINAL CÁTEDRA DE INSTRUMENTACIÓN...

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