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 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
5 Modelo OSI de Modbus Serial
6 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.
7 Capa física (1/7) RS-232
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 física (1/7)
10 Capa Enlace de Datos (2/7)
11 Capa Enlace de Datos (2/7)
12 Capa de aplicación (7/7): MODBUS SERIAL Ciclo de pregunta-respuesta
13 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
14 Capa de aplicación (7/7): MODBUS SERIAL Modo Unicast Modo Broadcast
15 MODBUS SERIAL Funciones y códigos de operación
16 Descripción de la trama MODBUS MODBUS SERIAL Reglas de direccionamiento
17 Trama ASCII MODBUS SERIAL : Modo ASCII Orden de bits modo de Transmisión ASCII
MODBUS SERIAL : Modo ASCII 18 Ventajas ASCII Permite tiempos de hasta 1 segundo entre caracteres sin causar error de timeout. Los mensajes pueden ser vistos desde una terminal ASCII
19 Trama RTU MODBUS SERIAL: Modo RTU Orden de bits modo de Transmisión RTU
20 MODBUS SERIAL: Modo RTU Transmisión de chars en modo de transmisión RTU
21 Ejemplo CONSULTA MODBUS SERIAL
22 Ejemplo RESPUESTA MODBUS SERIAL
23 Ventajas RTU MODBUS SERIAL: Modo 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)
24 Errores de excepción MODBUS SERIAL
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)? T M, r R si OK no Error
26 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
27 MODBUS SERIAL CRC (Cyclic Redundacy Check) M: 23 bits K: 6 bits R: 5 bits
28 CRC (Cyclic Redundacy Check) MODBUS SERIAL Leading zero fix convention (XOR con un palabra de n bits, r=n bits)
29
30 MODBUS SERIAL CRC (Cyclic Redundacy Check)
31 Diagrama estados del Maestro MODBUS SERIAL
32 Diagrama estados del Esclavo MODBUS SERIAL
33 MODBUS SERIAL Diagrama de Flujo: Ejecución del protocolo (modbus.org)
34 MODBUS SERIAL Diagrama de Flujo: Ejecución del protocolo
MODBUS SOBRE TCP/IP
36 MODBUS en TCP/IP Arquitectura de comunicación
37 MODBUS en TCP/IP Arquitectura de comunicación
38 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.
39 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
40 MODBUS en TCP/IP Modbus Serial define una Protocol Data Unit, independiente de las demás capas
41 MODBUS en TCP/IP Modbus TCP/IP define una Aplication Data Unit (ADU) que sí servirá a las otras capas
42 MODBUS en TCP/IP Modbus MBAP Header
43 Transaction Identifier MODBUS en TCP/IP 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
46 Respuestas de excepción Funciona en forma similar a MODBUS Serie MODBUS en TCP/IP
47 MODBUS en TCP/IP Modbus Client Activity Diagram
48 MODBUS en TCP/IP 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
51 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
52 Implementación en NI-LabVIEW
53 Shared Variables Implementación en NI-LABVIEW No son mucho más lentas (o menos rápidas) que las Global Variables
54 Tareas pendientes Implementación en NI-LabVIEW 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