DESARROLLO DEL PROTOCOLO HART PARA UNA …159.90.80.55/tesis/000175051.pdf · El presente informe...

85
UNIVERSIDAD SIMÓN BOLÍVAR VICERRECTORADO ACADEMICO DECANATO DE ESTUDIOS TECNOLÓGICOS COORDINACIÓN DE TECNOLOGÍA E INGIENERÍA ELECTRÓNICA DESARROLLO DEL PROTOCOLO HART PARA UNA UNIDAD TERMINAL REMOTA (RTU) INALÁMBRICA CON TECNOLOGÍA WIFI Realizado por: Ricardo Alvarez INFORME DE PASANTÍA Presentado ante la ilustre Universidad Simón Bolívar, como requisito para optar al Título de Técnico Superior Universitario en Tecnología Electrónica Sartenejas, Mayo de 2017

Transcript of DESARROLLO DEL PROTOCOLO HART PARA UNA …159.90.80.55/tesis/000175051.pdf · El presente informe...

UNIVERSIDAD SIMÓN BOLÍVAR VICERRECTORADO ACADEMICO

DECANATO DE ESTUDIOS TECNOLÓGICOS COORDINACIÓN DE TECNOLOGÍA E INGIENERÍA ELECTRÓNICA

DESARROLLO DEL PROTOCOLO HART PARA UNA UNIDAD

TERMINAL REMOTA (RTU) INALÁMBRICA CON TECNOLOGÍA

WIFI

Realizado por:

Ricardo Alvarez

INFORME DE PASANTÍA

Presentado ante la ilustre Universidad Simón Bolívar, como requisito para optar al Título

de Técnico Superior Universitario en Tecnología Electrónica

Sartenejas, Mayo de 2017

ii

iii

iv

DEDICATORIA

A mis padres y hermanos.

v

AGRADECIMIENTOS

Gracias a mis padres por darme la vida, y todo el apoyo para lograr mis metas.

Gracias a mi hermano Gustavo por desde pequeño enseñarme el mundo de la

electrónica y las computadoras.

Gracias a toda mi familia por siempre estar pendientes de mí aun cuando nos

encontremos en continentes diferentes.

Gracias a los profesores: Yosmar D’Gregorio, Rocío Ayllón, María de los Ángeles

Hernández, Lilian Pérez, Teresa Tesoro, Thamara Villegas, Jorge Baralt, Gilberto Perpiñán,

Guillermo Villegas, Miguel Díaz y Biagio Allocca, quienes a través del transcurso de mi

vida, sus enseñanzas, consejos y anécdotas me permitieron formarme como profesional y

crecer como ser humano.

Gracias a el profesor Juan Calderón, tutor industrial, por su amabilidad y todos los

conocimientos transmitidos.

Gracias a la empresa MCL Control, S.A. por esta grata experiencia y el ambiente de

trabajo tan agradable.

Gracias a mis compañeros que me acompañaron durante el transcurso de la carrera,

sobre todo a Javier Inojosa, Gabriel Hernández y Oscar Alviarez, gracias por ser los

mejores compañeros de estudio y de laboratorio.

vi

ÍNDICE GENERAL

Índice de Tablas .................................................................................................................... X

Índice de Figuras ................................................................................................................... XI

Lista de Abreviaturas ......................................................................................................... XIII

Resumen ............................................................................................................................ XIV

Introducción ............................................................................................................................ 1

CAPÍTULO I. DESCRIPCIÓN DE LA EMPRESA: MCL CONTROL, S.A. ............... 3

1.1 Ubicación .......................................................................................................................... 3

1.2 Reseña Histórica de la Institución .................................................................................... 3

1.3 Misión ............................................................................................................................... 4

1.4 Visión ................................................................................................................................ 4

1.5 Valores .............................................................................................................................. 4

1.6 Estructura Organizativa de la Institución .......................................................................... 4

CAPÍTULO II. MARCO TEÓRICO .................................................................................. 6

2.1 Protocolo de Comunicación .............................................................................................. 6

2.2 Protocolo Modbus ............................................................................................................. 6

2.3 Protocolo HART ............................................................................................................... 6

2.3.1 Estructura del Mensaje HART ........................................................................... 7

2.3.1.1 Preámbulos .......................................................................................... 7

2.3.1.2 Carácter de Inicio (Start Character) .................................................... 8

2.3.1.3 Dirección (Address) ............................................................................ 8

2.3.1.4 Comando ............................................................................................. 8

2.3.1.5 Conteo de Bytes (Byte Count) ............................................................ 9

vii

2.3.1.6 Estado (Status)..................................................................................... 9

2.3.1.7 Data ................................................................................................... 10

2.3.1.8 Suma de Verificación (Checksum) ................................................... 11

2.4 Arduino ........................................................................................................................... 12

2.5 Sistema de Numeración Binario ..................................................................................... 12

2.6 Bit .................................................................................................................................... 12

2.7 Byte ................................................................................................................................. 12

2.8 Sistema de Numeración Hexadecimal ............................................................................ 12

2.9 Código ASCII ................................................................................................................. 13

2.10 Sistema de Numeración en Punto Flotante ................................................................... 13

2.11 Comunicación Serial ..................................................................................................... 13

2.12 RS-232 .......................................................................................................................... 13

2.13 Tasa de Baudios ............................................................................................................ 13

2.14 Unidad Terminal Remota (RTU) .................................................................................. 14

2.15 WiFi Sentinel ................................................................................................................ 14

2.16 Bell 202 ......................................................................................................................... 14

2.17 Semidúplex ................................................................................................................... 14

2.18 Estándar IEEE-754 ....................................................................................................... 15

2.19 Punto a Punto ................................................................................................................ 15

2.20 Punto a Multipunto ....................................................................................................... 15

2.21 Maestro-Esclavo ........................................................................................................... 15

2.22 Variable de Proceso ...................................................................................................... 16

2.23 Variable Dinámica ........................................................................................................ 16

viii

2.24 Dirección ....................................................................................................................... 16

2.25 Identificador Único ....................................................................................................... 16

2.26 Multimaestro ................................................................................................................. 17

2.27 Modulación por Desplazamiento de Frecuencia (FSK) ................................................ 17

2.28 PACTware .................................................................................................................... 17

2.29 Módulos XBee .............................................................................................................. 18

2.30 XCTU ............................................................................................................................ 18

2.31 Hercules SETUP Utility ................................................................................................ 18

2.32 Modem HART .............................................................................................................. 18

2.33 ModScan32 ................................................................................................................... 19

CAPÍTULO III. MARCO METODOLÓGICO .............................................................. 20

3.1 Familiarización con la herramienta de desarrollo Arduino y el protocolo HART ......... 20

3.1.1 Familiarización con la herramienta de desarrollo Arduino .............................. 20

3.1.2 Familiarización con el protocolo HART .......................................................... 20

3.2 Programación del Protocolo HART ................................................................................ 22

3.3 Integración del Software ................................................................................................. 24

3.4 Pruebas del Software ...................................................................................................... 24

3.5 Documentación ............................................................................................................... 24

CAPÍTULO IV. DESCRIPCIÓN DEL WIFI SENTINEL ............................................. 25

4.1 Estructura del WiFi Sentinel ........................................................................................... 25

4.2 Aporte al Producto .......................................................................................................... 26

CAPÍTULO V. DESCRIPCIÓN DEL DRIVER DE COMUNICACIONES ................ 27

5.1 Parámetros de Configuración del Protocolo HART ....................................................... 27

ix

5.1.1 Reintentos......................................................................................................... 27

5.1.2 Modo de Fallo .................................................................................................. 28

5.2 Parámetros de Configuración de los Dispositivos HART .............................................. 28

5.2.1 Modo Manual/Automático ............................................................................... 28

5.2.2 Temporizador del Modo Automático ............................................................... 28

5.2.3 Conteo de Error ................................................................................................ 29

5.3 Registros Asociados a los Parámetros Configurables ..................................................... 29

5.4 Modos de Operación. ...................................................................................................... 33

5.4.1 Punto a Punto ................................................................................................... 33

5.4.2 Punto a Multipunto........................................................................................... 36

5.5 Registros Asociados a los Dispositivos HART .............................................................. 39

5.6 Parámetros de Fábrica ..................................................................................................... 43

CAPÍTULO VI. PRUEBAS DE FUNCIONAMIENTO ................................................. 44

Conclusiones ......................................................................................................................... 52

Recomendaciones ................................................................................................................. 53

Referencia Bibliográficas ..................................................................................................... 54

Anexos .................................................................................................................................. 56

Apéndices .............................................................................................................................. 59

A. Manual de Usuario ........................................................................................................... 59

x

ÍNDICE DE TABLAS

Tabla 2.1. Caracteres de Inicio [1] ......................................................................................... 8

Tabla 2.2. Lista de Comandos Universales [1] ...................................................................... 9

Tabla 2.3. Lista de Comandos de Práctica Común [1] .......................................................... 9

Tabla 2.4. Data del Comando 0 [1] ...................................................................................... 11

Tabla 2.5. Data del Comando 3 [1] ...................................................................................... 11

Tabla 5.1. Registros de Configuración ................................................................................ 29

Tabla 5.2. Registros de Dirección Única ............................................................................. 39

Tabla 5.3. Registros de la Corriente del Lazo ...................................................................... 40

Tabla 5.4. Registros de la Variables del Dispositivo HART 1 ............................................ 40

Tabla 5.5. Registros de la Variables del Dispositivo HART 2 ............................................ 41

Tabla 5.6. Registros de la Variables del Dispositivo HART 3 ............................................ 41

Tabla 5.7. Registros de la Variables del Dispositivo HART 4 ............................................ 42

Tabla 5.8. Registros de la Variables del Dispositivo HART 5 ............................................ 42

xi

ÍNDICE DE FIGURAS

Figura 1.1. Logo de MCL Control, S.A. ................................................................................ 3

Figura 1.2. Estructura Organizativa de MCL Control, S.A..... .............................................. 5

Figura 2.1. Estructura del Mensaje HART [1] ...................................................................... 7

Figura 2.2. Código de Status [1] .......................................................................................... 10

Figura 3.1. Comunicación entre el PACTware y el dispositivo HART. ............................. 21

Figura 3.2. Extracto del programa. Mensajes de prueba ..................................................... 23

Figura 3.3. Monitoreo con XCTU ....................................................................................... 23

Figura 4.1. Diagrama de Bloques del WiFi Sentinel [8] ..................................................... 25

Figura 5.1. Registro 202 - Configuración del Protocolo HART .......................................... 30

Figura 5.2. Registros 204 al 209 – Configuración de los Dispositivos HART ................... 31

Figura 5.3. Diagrama de Flujo Modo de Operación Punto a Punto .................................... 33

Figura 5.4. Diagrama de Flujo Error Punto a Punto ............................................................ 34

Figura 5.5. Diagrama de Flujo Modo de Operación Punto a Multipunto ............................ 36

Figura 5.6. Diagrama de Flujo Error Punto a Multipunto ................................................... 37

Figura 5.7. Configurando los parámetros de fábrica del protocolo HART ........................ 43

Figura 6.1. Registros Modbus del Protocolo HART ........................................................... 45

Figura 6.2. Temperatura Medida por el Transmisor HART ................................................ 46

Figura 6.3. Temperatura mostrada por los Registros 238 y 239 .......................................... 46

Figura 6.4. Valores Previos Modo de Fallo ........................................................................ 47

Figura 6.5. Registros del Valor Predeterminado del Modo de Fallo .................................. 48

Figura 6.6. Valor Predeterminado Modo de Fallo ............................................................... 48

xii

Figura 6.7. Valor NaN de la IEEE-754 Modo de Fallo ....................................................... 49

Figura 6.8. Conteo de Error del Dispositivo 1 ..................................................................... 50

Figura 6.9. Dos Maestros Modbus Simultáneos ................................................................. 51

xiii

LISTA DE ABREVIATURAS

HART Highway Addressable Remote Transducer.

ASCII American Standard Code for Information Interchange.

IEEE Institute of Electrical and Electronics Engineers.

FSK Frequency Shift Keying.

XCTU XBee Configuration and Test Utility.

TCP Transmission Control Protocol.

IP Internet Protocol.

UDP User Datagram Protocol.

xiv

UNIVERSIDAD SIMÓN BOLÍVAR VICERRECTORADO ACADEMICO

DECANATO DE ESTUDIOS TECNOLÓGICOS COORDINACIÓN DE TECNOLOGÍA E INGIENERÍA ELECTRÓNICA

DESARROLLO DEL PROTOCOLO HART PARA UNA UNIDAD

TERMINAL REMOTA (RTU) INALÁMBRICA CON TECNOLOGÍA

WIFI

Autor: Ricardo Alvarez

Tutor Académico: Prof. Thamara Villegas.

Tutor Industrial: Ing. Juan Calderón

RESUMEN

El presente informe describe en detalle el desarrollo del protocolo HART para una

Unidad Terminal Remota (RTU) con tecnología WiFi. Este protocolo se desarrolló con la

finalidad de ser implementado en la plataforma Arduino para el WiFi Sentinel (WFS –

1000), dispositivo desarrollado por la empresa MCL Control, S.A., cuyo CPU está

compuesto por un Arduino Pro Mini, para que de esta manera, el WiFi Sentinel pueda ser

usado como convertidor inalámbrico para pasar de protocolo HART (alámbrico) a Modbus

TCP mediante conexión WiFi.

Para la realización de este proyecto se hizo una investigación sobre el protocolo

HART y la programación en Arduino, y se hicieron pruebas para verificar el

funcionamiento del protocolo. Posteriormente, se hizo la programación del protocolo

HART y se integró a los programas ya existentes realizados por la empresa, seguidamente,

se realizaron pruebas de funcionamiento, las cuales resultaron exitosas y cubrieron todos

los requerimientos y necesidades establecidos por la empresa. Finalmente, se realizó un

manual de usuario el cual tiene como propósito el proveer información sobre la operación y

configuración del WFS-1000 como convertidor de protocolo MODBUS TCP a protocolo

HART.

Palabras Claves: Arduino, Protocolo HART, Protocolo Modbus TCP, WiFi Sentinel.

1

INTRODUCCIÓN

Actualmente en el mundo de la Instrumentación y Control se observa un aumento

en las tecnologías inalámbricas en el mercado mundial a tal punto en que las empresas

líderes en tecnología están impulsando este tipo de soluciones en el mercado.

Es por ello que empresas como MCL Control, S.A. buscan crear soluciones

inalámbricas que se adapten a las necesidades del mercado actual. En este sentido, MCL

Control, S.A. ha desarrollado el WiFi Sentinel, una solución para la conectividad

inalámbrica de dispositivos de medición y control en el ambiente industrial.

La realización de este proyecto se justifica por la necesidad de ampliar la

funcionalidad del dispositivo WiFi Sentinel.

Para esto, la empresa se planteó la creación de una versión del WiFi Sentinel la cual

fuera capaz de conectarse con dispositivos de campo que se comunicaran mediante el

protocolo HART y se pudiera acceder a la información de los dispositivos HART mediante

el protocolo MODBUS TCP en forma inalámbrica. Vale resaltar que el protocolo HART es

uno de los más usados a nivel de instrumentación de campo para control de procesos,

mientras que el protocolo MODBUS TCP es uno de los más usados a nivel de redes de

automatización industrial.

Objetivo General.

Desarrollo e implementación del protocolo HART sobre la plataforma Arduino Pro,

para la comunicación inalámbrica, a través del estándar IEEE 802.11 (WiFi), del

dispositivo de adquisición de datos y control WiFi Sentinel desarrollado por la empresa

MCL Control.

2

Objetivos Específicos.

Familiarización con el protocolo HART.

Familiarización con el dispositivo WiFi y la herramienta de desarrollo.

Programación en lenguaje C del protocolo HART en el controlador Arduino.

Integración del protocolo HART con el programa existente en el dispositivo

WiFi Sentinel.

Realizar pruebas del protocolo de comunicaciones y de su integración a la

plataforma WiFi Sentinel.

Elaboración del manual de usuario.

Para lograr los objetivos planteados se ha organizado el presente informe por

Capítulos, estos son los siguientes: El Capítulo I introduce los aspectos generales de la

empresa; el Capítulo II contiene el marco teórico que explica la teoría que fundamenta el

proyecto; el Capítulo III el marco metodológico donde se exponen las diferentes

metodologías y herramientas usadas para la realización de este proyecto; el Capítulo IV

describe al dispositivo WiFi Sentinel; el Capítulo V describe el driver de comunicaciones

desarrollado y el Capítulo VI muestra las pruebas de funcionamiento hechas al dispositivo

terminado.

3

CAPÍTULO I

DESCRIPCIÓN DE LA EMPRESA

1.1 Ubicación.

Figura1.1. Logo de MCL Control, S.A.

MCL Control, S.A. está ubicada en la Av. Principal de los Ruices, Centro Empresarial Los

Ruices, piso 3, Oficina 308. Caracas, Venezuela.

1.2 Reseña Histórica de la Institución.

MCL Control, S.A. es un proveedor de productos y servicios en instrumentación,

control y sistemas de parada de emergencia de plantas y equipos industriales. Fundada en

1989 bajo el concepto de una compañía consultora de ingeniería, su misión fue reorientada

en 1994 hacia la especialización y desarrollo de soluciones paquetizadas bajo el concepto

de proyectos IPC (Ingeniería, Procura y Construcción).

MCL Control, S.A. cuenta con un staff de 30 ingenieros, y algunos de ellos con más de

20 años de experiencia.

Además se mantiene actualizada en las tecnologías de automatización y control,

desarrollando sus propios productos, organizando eventos tales como las Jornadas de

Sistemas de Instrumentación y Control cada dos años en Caracas, Venezuela, y a través de

alianzas estratégicas con compañías, organismos y universidades locales e internacionales.

En este sentido, MCL Control, S.A. es miembro activo de organismos internacionales como

la ISA y la NFPA.

4

1.3 Misión.

MCL Control S.A. está dedicada al desarrollo de productos y servicios

especializados de Automatización y Protección Industrial, excediendo las exigencias de

calidad de sus clientes mientras se proporcionan márgenes de rentabilidad satisfactorios a

sus accionistas, manteniendo presente su responsabilidad social de contribuir al desarrollo

tecnológico del país y ofrecer empleos de alto nivel.

1.4 Visión.

MCL Control S.A. será apreciado globalmente en Simulación, Control, Seguridad

Funcional y Análisis de Riesgos de Procesos Industriales.

1.5 Valores.

Innovación.

Calidad de Servicio.

Ética.

Responsabilidad.

Confianza.

1.6 Estructura Organizativa de la Institución.

La estructura organizativa de la institución es la siguiente:

5

Figura 1.2. Estructura Organizativa de MCL Control, S.A.

Presidente

Legal

Junta Directiva

Fundación

MECA

Calidad

Gerencia

Comercial

Gerencia

Administrativa

Gerencia

Técnica

Investigación

y Desarrollo

Finanzas

Contabilidad

Personal

Logística

Mercadeo

y Ventas

Representación

de Productos

Alianzas

y Fusiones

Ingeniería

Aplicaciones

Construcción

6

CAPÍTULO II

MARCO TEÓRICO

2.1 Protocolo de Comunicación.

Un protocolo de comunicación es un conjunto de reglas que se utilizan para generar y

recibir un mensaje. Puede incluir las reglas para la transacción (relación maestro-esclavo,

reconocimiento, tiempos de espera, recuperación de error), estructura del mensaje (carácter

de inicio, direccionamiento, formato de la información, chequeo de error), codificación

(formatos de la información numérica) y características de señales físicas (técnicas de

modulación, tipo de señal, nivel de la señal, medio de transmisión). [1]

2.2 Protocolo Modbus

Modbus es un protocolo industrial que fue desarrollado en 1979 para hacer posible

la comunicación entre dispositivos de automatización. Originalmente implementado como

un protocolo al nivel de la aplicación con la finalidad de transferir datos por una capa serial,

Modbus se ha expandido para incluir implementaciones a través de protocolo serial,

TCP/IP y el User Datagram Protocol (UDP). [6]

2.3 Protocolo HART.

HART es un protocolo de comunicación híbrido ya que combina comunicación

analógica y digital, y fue diseñado para aplicaciones de medición de procesos industriales.

La versión original y aún más utilizada es la versión con modulación FSK (Frequency Shift

Keyed o Modulación por Desplazamiento de Frecuencia), la cual se explicará más adelante.

La característica especial de esta versión es que utiliza una modulación de bajo nivel

superpuesta en un lazo de corriente estándar de 4 a 20mA.

7

El protocolo HART usa bajas frecuencias (1200 y 2200 Hz), lo que lo restringe a una

velocidad de 1200 baudios (que equivalen a 1200 bits por segundo). Así mismo, es un

protocolo Maestro-Esclavo en el cual pueden haber dos maestros HART y hasta 15

dispositivos HART conectados a un simple par de cables en una conexión tipo Punto

Multipunto. [5]

2.3.1 Estructura del Mensaje HART:

La estructura del mensaje HART es la que se muestra en la Figura 2.1:

Figura 2.1. Estructura del Mensaje HART. [1]

2.3.1.1 Preámbulo: Consiste de entre cinco a veinte caracteres

hexadecimales FF. Esto permite al receptor sincronizarse con la señal de

frecuencia y la cadena de caracteres entrante. [5]

8

2.3.1.2 Caracter de Inicio (Start Character): El Start Character en un

mensaje HART puede tener varios posibles valores, indicando cual formato

de mensaje se está usando, la fuente del mensaje, y si el mensaje está en

“modo burst”. [1]

En la Tabla 2.1 se presentan los diferentes caracteres de inicio:

Tabla 2.1. Caracteres de Inicio. [1]

Tipo de Mensaje Formato Corto Formato Largo

Maestro a Esclavo 02 82

Esclavo a Maestro 06 86

Mensaje burst de un esclavo 01 81

2.3.1.3 Dirección (Address): Este campo incluye tanto la dirección del

maestro (un bit: 1 para maestro primario, 0 para maestro secundario) y la

dirección del esclavo. En el formato corto, la dirección del esclavo es de 4

bits que contienen la “dirección de barrido” o “polling address” (0 a 15). En

el formato largo, la dirección del esclavo es de 38 bits que contienen el

“identificador único” para ese dispositivo en particular. [5]

2.3.1.4 Comando: Este byte contiene el comando HART del mensaje. Los

comandos Universales están en el rango de 0 a 30; los comando de práctica

común están en el rango de 32 a 126; y los comandos específicos del

dispositivo están en el rango de 128 a 253. [5]

En la Tabla 2.2 muestran los comandos universales y en la Tabla 2.3 los

comandos de práctica común:

9

Tabla 2.2. Lista de Comandos Universales. [1]

Tabla 2.3. Lista de Comandos de Práctica Común. [1]

2.3.1.5 Conteo de Bytes (Byte Count): Contiene la cantidad de bytes que

hay entre los bytes de Status y Data. [1]

2.3.1.6 Estado (Status): Este campo solo está presente en la respuesta de un

esclavo. Contiene información acerca de los errores de comunicación que

10

ocurrieron en el mensaje, el estado del comando recibido, y el estado del

dispositivo. Esta información se muestra en dos bytes. [5]

En la Figura 2.2 se muestra el significado de los bytes de Status posibles:

Figura 2.2. Códigos de Status. [1]

2.3.1.7 Data: No todos los comandos o respuestas contienen Data. La data

puede venir en forma de enteros sin signo, números en punto flotante o

cadena de caracteres ASCII. El número de bytes de data, y el formato usado

en la data son específicos para cada comando. [1]

11

En la Tabla 2.4 se muestra la data que viene en la respuesta del

dispositivo esclavo al Comando 0 y en la Tabla 2.5 la data que viene en

respuesta del Comando 3:

Tabla 2.4. Data del Comando 0. [1]

Tabla 2.5. Data del Comando 3. [1]

2.3.1.8 Suma de Verificación (Checksum): Este byte contiene el or-

exclusivo de todos los bytes que le preceden en el mensaje, comenzando por

el carácter de inicio. Esto se usa para detectar errores en la comunicación.

[1]

12

2.4 Arduino.

Arduino es una plataforma electrónica de hardware y software libre, basada en una

placa con un microcontrolador y un entorno de desarrollo o IDE por sus siglas en inglés

(Integrated Development Environment). El microcontrolador de la placa se programa

usando el Lenguaje de Programación Arduino basado en Wiring. [7]

2.5 Sistema de Numeración Binario.

Es un sistema de numeración de dos estados en el cual los dos dígitos que se

emplean son 1 y 0. [2]

2.6 Bit.

Los dos dígitos del sistema binario, 1 y 0, se denominan bits, que es la contracción

de las palabras Binary Digit (Dígito Binario). [2]

2.7 Byte.

Un Byte es un conjunto ordenado de bits (usualmente 8). [1]

2.8 Sistema de Numeración Hexadecimal.

El sistema de numeración hexadecimal es un sistema en base dieciséis, es decir, está

formado por 16 dígitos y caracteres alfabéticos, se usa fundamentalmente como una forma

simplificada de representar o escribir los números binarios, ya que es muy fácil la

conversión entre binario y hexadecimal. [2]

13

2.9 Código ASCII.

ASCII es el acrónimo de American Standard Code for Information Interchange

(Código Normalizado Americano para el Intercambio de Información). El código ASCII es

un sistema de representación utilizado en los sistemas digitales que utilizan un esquema de

codificación que asigna valores numéricos a las letras, números, signos de puntuación y a

otros caracteres. [3]

2.10 Sistema de Numeración en Punto Flotante.

Es un sistema de numeración basado en la notación científica, el cual permite

representar números muy grandes y números muy pequeños sin aumentar el número de

bits, y también sirve para representar números con parte fraccionaria y parte entera. [2]

2.11 Comunicación Serial.

La comunicación serial consiste en la transmisión de información entre dos

dispositivos un bit a la vez y en un solo sentido de transmisión. [1]

2.12 RS-232.

Es un estándar de comunicación serial asincrónico, originalmente diseñado para la

conexión entre terminales de computadoras y módems. Este estándar especifica el tipo de

conectores, el significado de las señales, y el nivel de voltaje de la señal. [1]

2.13 Tasa de Baudios.

La tasa de baudios de un canal de comunicación es la cantidad de símbolos

transmitidos por segundo.

El protocolo HART especifica una velocidad de transmisión de 1200 baudios, con

solo dos valores distintos para cada símbolo (frecuencias de 1200 o 2200 Hz); debido a

14

esto, cada símbolo representa un solo bit de información, y la velocidad de transmisión de

datos es de 1200 bits por segundo (bps), igual que la tasa de baudios. [1]

2.14 Unidad Terminal Remota (RTU).

Una Unidad Terminal Remota es un dispositivo electrónico que permite controlar

un determinado número de entradas/salidas y enviarlas a un sistema de control superior,

generalmente un PLC. [9]

2.15 WiFi Sentinel.

El WiFi Sentinel (WFS-1000) es una solución desarrollada por la empresa MCL

Control, S.A., para la conectividad inalámbrica de dispositivos de medición y control en el

ambiente industrial. [8]

2.16 Bell 202.

Es un estándar estadounidense originado por la empresa AT&T (Compañía Telefónica

Bell). Este estándar usa 1200Hz y 2200 Hz como 1 y 0 respectivamente, a 1200 baudios.

Bell 202 es un estándar de comunicación Dúplex Completo, usando un par de frecuencias

diferentes para su canal inverso.

El protocolo HART usa señales Bell 202, pero es un sistema Semidúplex, por lo que

las frecuencias de su canal inverso no son utilizadas. [1]

2.17 Semidúplex.

Es la transmisión de datos entre dos terminales, pero solo se envía en una dirección

a la vez. [1]

15

2.18 Estándar IEEE-754.

Es un estándar establecida en 1985 por el Instituto de Ingenieros Eléctricos y

Electrónicos (IEEE), el cual especifica los formatos y métodos para la aritmética en punto

flotante en los sistemas de computación, así como también las condiciones de excepción y

el manejo estándar de estas condiciones. [10]

2.19 Punto a Punto.

En un sistema de comunicación punto a punto, solo dos dispositivos están

conectados. El cableado va de un “punto” a otro “punto”.

El protocolo HART es usualmente es operado en modo Punto a Punto. [1]

2.20 Punto a Multipunto.

En un sistema de comunicación punto a multipunto más de dos dispositivos están

conectados juntos en un mismo medio de transmisión. En dicho sistema, cada dispositivo

debe tener una dirección única. Un mensaje incluyendo una dirección de destino puede ser

reconocido por el dispositivo al cual se le quiso enviar.

El protocolo HART puede ser operado en modo Punto a Multipunto, con hasta 15

dispositivos en un solo par de cables. [1]

2.21 Maestro-Esclavo.

Un sistema de comunicación maestro-esclavo es uno en el cual el mensaje de

transacción es siempre iniciado por el dispositivo maestro y los dispositivos esclavos solo

responden a la pregunta recibida. El protocolo HART es un protocolo Maestro-Esclavo. [1]

16

2.22 Variable de Proceso.

Es un término general el cual describe cualquier cantidad medida originada en el

proceso (presión, temperatura, caudal, etc.). [1]

2.23 Variable Dinámica.

Las variables dinámicas son cualquier variable de proceso cuyo valor cambia sin

intervención del usuario. En el protocolo HART las cuatro variables de proceso principales

medidas (primaria, secundaria, terciaria y cuaternaria) son referidas como las “variables

dinámicas”. [1]

2.24 Dirección.

En las comunicaciones, la dirección de un dispositivo es código numérico usado

para identificar a ese dispositivo, para que así los mensajes sean entregados correctamente.

La dirección del dispositivo es incluida como parte del mensaje, de esta manera, los

dispositivos que estén escuchando el mensaje podrán saber cuándo el mensaje está

destinado a ellos o no.

El protocolo HART usa dos formas de direccionamiento para dispositivos de

campo: una “dirección de barrido” o “polling address” de 0 a 15, y un “identificador único”

de 38 bits. La dirección de maestro HART es 1 para el maestro primario y 0 para un

maestro secundario. [1]

2.25 Identificador Único.

El identificador único es un concepto del protocolo HART, es un entero de 38 bits

formado por: el código de identificación de manufactura, el código del tipo de dispositivo,

y el identificador de dispositivo. Este número es virtualmente único para cada dispositivo

17

HART en el mundo, y es usado como la dirección del dispositivo en mensajes de formato

largo. Esto asegura que el mensaje nunca será aceptado por el dispositivo incorrecto. [1]

2.26 Multimaestro.

Un sistema de comunicación Multimaestro puede tener más de un dispositivo

maestro. Para que esto funcione, los maestros necesitan una manera específica para permitir

que cada maestro tenga la oportunidad de transmitir.

El protocolo HART es un sistema Multimaestro simple. Después de recibir una

respuesta de un dispositivo esclavo, el maestro espera un corto periodo de tiempo antes de

iniciar otra transacción. Esto permite que un maestro secundario envíe un mensaje. [1]

2.27 Modulación por Desplazamiento de Frecuencia (FSK).

La modulación por desplazamiento de frecuencia es una forma de modulación

digital de bajo rendimiento. El FSK binario es una forma de modulación angular de

amplitud constante, similar a la modulación en frecuencia convencional, excepto que la

señal modulante es un flujo de pulsos binarios que varía entre dos niveles de voltaje

discreto, en lugar de una forma de onda analógica que cambia de manera continua. [4]

2.28 PACTware.

PACTware es un software libre para la configuración, ajuste de parámetros,

documentación y diagnóstico de los dispositivos de campo, como lo pueden ser

transmisores de temperatura, transmisores de presión, etc. [11]

18

2.29 Módulos XBee.

Los módulos XBee son soluciones integradas que brindan un medio inalámbrico

para la interconexión y comunicación entre dispositivos. Estos módulos utilizan el

protocolo de red llamado IEEE 802.15.4 para crear redes FAST POINT-TO-MULTIPOINT

(punto a multipunto); o para redes PEER-TO-PEER (punto a punto). Fueron diseñados para

aplicaciones que requieren de un alto tráfico de datos, baja latencia y una sincronización de

comunicación predecible. [12]

2.30 XCTU.

Es un software multiplataforma que permite interactuar con los módulos XBee

mediante un interfaz gráfico. Esta aplicación incluye herramientas que hacen muy sencillo

configurar y probar los módulos XBee. [13]

2.31 Hercules SETUP Utility.

Es un terminal de puerto serial (RS-485 o RS-232), terminal UDP/IP y terminal

TCP/IP Client Server. [14]

2.32 Modem HART.

Un modem HART modula y demodula data serial al protocolo HART y puede ser

fácilmente usado como interfaz entre la mayoría de los microcontroladores y los

dispositivos HART. [15]

19

2.33 ModScan32.

Es una aplicación diseñada para operar como un Maestro Modbus para acceder a

puntos de información en un dispositivo esclavo compatible. [16]

20

CAPÍTULO III

MARCO METODOLÓGICO

El proyecto de pasantía estuvo dividido en fases en las cuales se usaron diferentes

metodologías y herramientas con el fin de lograr los objetivos especificados para la

realización del proyecto. A continuación se detallan las diferentes fases:

3.1 Familiarización con la herramienta de desarrollo Arduino y el protocolo HART.

3.1.1 Familiarización con la herramienta de desarrollo Arduino:

En primer lugar se investigó y estudió la estructura, variables, y funciones del

lenguaje de programación de Arduino. Posteriormente se hizo un pequeño programa para

entender el funcionamiento de la comunicación serial.

3.1.2 Familiarización con el protocolo HART:

Para esta parte de la primera fase se investigó como establecer la comunicación

entre el dispositivo HART y el Arduino, la estructura del mensaje HART, los tiempos

reglamentarios de la comunicación, y los diferentes comandos del protocolo HART y su

utilidad. Luego, se pasó a verificar toda la información recolectada de la siguiente manera:

En primer lugar, se subió al Arduino un programa previamente hecho por la

empresa el cual sirve de pasarela entre el dispositivo HART y la radio XBee. El programa

se encarga de retransmitir la información recibida por el puerto serial de Software del

Arduino al puerto serial de Hardware del mismo y viceversa.

Seguidamente, se utilizó el software PACTware para emular un Maestro HART. La

computadora se conectó a una radio XBee, la cual estaba conectada a un router WiFi.

21

La radio XBee del WiFi Sentinel se conectó igualmente al router WiFi, de manera

tal que la información enviada por el PACTware llegara al Arduino mediante su puerto

serial de Software, y esa información sea retransmitida al Modem HART por el puerto

serial de Hardware del Arduino.

El Modem HART a su vez se encarga de decodificar la información y la transmite

al dispositivo HART (en este caso un Transmisor de Temperatura).

El proceso inverso ocurre para la comunicación entre el dispositivo HART y el

PACTware.

Toda la información enviada y recibida por el la radio XBee que estaba conectada a

la computadora era monitoreada mediante el software XCTU. En la Figura 3.1 se muestra

la trama de datos obtenida.

Figura 3.1. Comunicación entre el PACTware y el dispositivo HART.

En donde los datos en azul son los enviados por el PACTware (Maestro HART) y los datos en rojo es la

respuesta del dispositivo HART.

La trama de datos obtenida se analizó y se comparó con la estructura del mensaje

investigado.

22

3.2 Programación del Protocolo HART.

En esta fase, primeramente se establecieron los requerimientos que el driver de

comunicaciones HART debía cumplir, los cuales eran:

Implementar el Comando 0 y el Comando 3.

Implementar parámetros configurables.

Implementar el modo Punto a Punto y el modo Punto a Multipunto.

Capacidad de conexión de hasta 5 dispositivos HART en modo Punto a

Multipunto.

Posteriormente, se realizó el programa en modo Punto a Punto, y luego se modificó

para agregarle el modo Punto a Multipunto.

A fin de que el programa cumpliera con los tiempos establecidos en el protocolo

HART, la programación se hizo en forma de máquina de estados, en donde se hizo el uso

de banderas que se actualizan mediante temporizadores a lo largo de todo el programa, para

así indicar en cuál estado estaba el programa y proceder a realizar la rutina correspondiente.

Por otra parte, la plataforma Arduino al no contar con un programa Depurador o

Debugger, se tuvo que hacer el uso de comentarios a lo largo del programa para así saber

que parte del programa se estaba ejecutando en ese momento, estos comentarios eran

enviados por el puerto serial de software del Arduino. Simultáneamente, los datos del

dispositivo HART que recibía el Arduino eran retransmitidos también por el puerto serial

de software del mismo, para que de esta manera se pudieran monitorear a través del XCTU

o el Hercules.

La Figura 3.2 es un extracto del programa del protocolo HART donde se puede

apreciar el uso de los comentarios de prueba, y la Figura 3.3 muestra el monitoreo en vivo

usando el XCTU, en donde se destacan los comentarios de prueba.

23

Figura 3.2. Extracto el programa. Mensajes de prueba.

Figura 3.3. Monitoreo con XCTU.

24

3.3 Integración del Software.

Esta fase consistió en incluir el programa del driver de comunicaciones del

protocolo HART dentro del resto del software que implementa el WiFi Sentinel, software

el cual está compuesto por el driver de comunicaciones Modbus TCP y un software que se

encarga de la adquisición de datos propios de la RTU.

De modo que todo estuviera organizado, el programa del protocolo HART se

incorporó en forma de rutinas en un header, y en el programa principal sólo se llaman a

estas rutinas.

3.4 Pruebas del Software.

Una vez integrado el software del protocolo HART, se realizaron pruebas que

englobaban la funcionalidad de cada uno de los programas que formaban parte del software

del WiFi Sentinel. Estas pruebas se realizaron utilizando el programa ModScan32, de

manera que mediante el control del Maestro Modbus, desde la computadora se pudieran

leer los Registros Modbus que contenían la información del dispositivo HART, así como

también poder cambiar sus parámetros configurables y verificar su funcionamiento en

tiempo real.

3.5 Documentación.

Por último, el software del protocolo HART se documentó mediante el uso de

comentarios, de tal manera de que cualquier persona pudiera entender lo que hace cada

instrucción del programa y entender el orden en el cual está dispuesta cada rutina.

Adicionalmente, se realizó un Manual de Usuario en donde se explica de manera

detallada la configuración y operación del WiFi Sentinel como convertidor de protocolo

MODBUS TCP a protocolo HART. De manera, que mediante el uso de un Maestro

Modbus, se pueda acceder a la información de los dispositivos HART y se puedan cambiar

sus parámetros según la necesidad del usuario.

25

CAPÍTULO IV

DESCRIPCIÓN DEL WIFI SENTINEL

El WiFi Sentinel (WFS-1000) es un convertidor Serial a WiFi y una Unidad

Terminal Remota o RTU (Remote Terminal Unit) por sus siglas en inglés, diseñada por la

empresa MCL Control S.A.

4.1 Estructura del WiFi Sentinel.

En la Figura 4.1 se muestra el diagrama de bloques de la estructura del WiFi

Sentinel.

Figura 4.1. Diagrama de Bloques del WiFi Sentinel. [8]

26

Como se observa en la Figura 4.1, el WFS-100 posee dos entradas analógicas, una

entrada discreta y una salida discreta, así como también un canal serial, ya sea RS-232 o

RS-485 (dos cables), una entrada para la fuente de alimentación que puede ser de entre 6V

a 30V, un cargador de batería mediante un panel solar, una radio XBee, un modem HART

InLink-CC 101-0015 y un microcontrolador Arduino Pro Mini.

Para la realización del proyecto de pasantías, se configuró el Hardware del WiFi

Sentinel de la siguiente manera:

Se conectó el Transmisor de Temperatura HART a la entrada analógica AI0.

La entrada analógica AI0 se conectó al Modem HART.

El Modem HART se conectó al Arduino Pro Mini por su puerto serial de

Hardware.

Se estableció un puerto serial adicional por Software en el Arduino y éste se

conectó al XBee.

4.2 Aporte al Producto.

El aporte al WiFi Sentinel fue el Driver de comunicaciones del protocolo HART, lo

que permite al Arduino trabajar como un Maestro HART. De esta manera, el Arduino

interroga a los dispositivos HART conectados a la entrada analógica AI0. La respuesta de

los dispositivos HART es interpretada por el Arduino y tanto la información relevante de

cada dispositivo, como los parámetros configurables del protocolo y los dispositivos son

almacenados en un banco de registros en la memoria del mismo Arduino, estos son

registros de 16 bits, los cuales son accesibles mediante el protocolo Modbus TCP.

27

CAPÍTULO V

DESCRIPCIÓN DEL DRIVER DE COMUNICACIONES

El driver de comunicaciones del protocolo HART desarrollado cumple con las

siguientes características:

Comando 0 HART y Comando 3 HART.

Modos de Operación: Punto a Punto y Punto a Multipunto.

Capacidad de conexión de hasta 5 dispositivos HART en modo Punto a

Multipunto.

Parámetros configurables del protocolo HART.

Parámetros configurables de los Dispositivos HART.

Capacidad de almacenar la configuración del protocolo y sus dispositivos en

la memoria EEPROM del Arduino.

Parámetros de fábrica predeterminados.

Capacidad de restablecer la configuración a los parámetros de fábrica.

5.1 Parámetros de Configuración del Protocolo HART.

5.1.1 Reintentos.

Si un dispositivo HART se encuentra en barrido pero no responde, o se detectan

errores en la comunicación, el WiFi Sentinel puede reintentar comunicarse con el

dispositivo hasta 3 veces antes de indicar un error en el mismo. Si el dispositivo sigue sin

responder, los registros Modbus donde se almacena la información de sus variables de

proceso se llenan con los valores de los registros Modo de Fallo HART.

Este parámetro puede ser configurado de 0 a 3 reintentos.

28

5.1.2 Modo de Fallo

Si un dispositivo HART en barrido no responde, o tiene errores de comunicación, se

reintentará la comunicación el número de veces establecido en el registro Reintentos de la

Configuración del Protocolo HART. Si luego de los reintentos el dispositivo sigue sin

responder, se puede elegir entre: mantener el último valor; establecer un número

predeterminado; o establecer el valor NaN en punto flotante de la IEEE-754. Esto puede

ayudar al maestro Modbus a determinar cuándo un dispositivo HART ya no está

respondiendo.

5.2 Parámetros de Configuración de los Dispositivos HART.

5.2.1 Modo Manual/Automático.

Cada dispositivo HART puede ser configurado en Modo Manual o Automático. El

Modo Manual significa que el dispositivo no entrará en barrido hasta que el usuario lo

ponga en barrido. En cambio, con el Modo Automático, el WiFi Sentinel pone en barrido al

dispositivo HART automáticamente al inicializarse, y cuando un dispositivo HART sale de

barrido por error, se activa el Temporizador del Modo Automático de dicho dispositivo.

5.2.2 Temporizador del Modo Automático.

Este Temporizador es único del Modo Automático y se activa cuando alguno de los

dispositivos HART sale de barrido por Error y está configurado en Modo Automático. Al

finalizar el tiempo, el dispositivo se pone en barrido nuevamente.

El Temporizador se puede configurar entre 10 a 60 segundos. El tiempo es el mismo

para todos los dispositivos HART, pero cada dispositivo posee su propio Temporizador.

29

5.2.3 Conteo de Error.

Cuando un dispositivo HART sale de barrido por error se aumenta en uno (1) el

registro de Conteo de Error del dispositivo correspondiente, lo que indicará cuantas veces

el dispositivo salió de barrido durante el tiempo que el WiFi Sentinel estuvo encendido.

5.3 Registros Asociados a los Parámetros Configurables.

A continuación se presenta la Tabla 5.1 que muestra los registros en donde se

almacena toda la configuración del protocolo HART y sus dispositivos.

Tabla 5.1. Registros de Configuración

30

El valor de los Registros Modbus 200, 201 y 203 se almacenan en la memoria

EEPROM del Arduino.

En la Figura 5.1 se muestra el registro Modbus 202 desglosado por bits, en donde

se almancena la configuración del Protocolo HART, y en la Figura 5.2 se muestran los

registros Modbus 204 al 209 desglosados por bits, donde se almacenan el estado de los

dispositivos HART.

Figura 5.1. Registro 202 - Configuración del Protocolo HART.

Bit 7 – Modo de Operación 0 = Punto a Punto. (Por Defecto).

1 = Punto Multipunto.

Bits 6, 5 – Modo de Fallo HART 0 = Mantiene el último valor después

los reintentos HART. (Por Defecto).

31

1 = Valor Predeterminado de los

registros 200 y 201 después de los

reintentos HART.

2 = Valor NaN de la IEEE-754.

El valor de ambos bits se almacena en la memoria EEPROM del Arduino.

Bits 3, 4 – Reintentos Establece el número de reintentos de

comunicación desde 0 hasta 3. (3

Reintentos por Defecto).

El valor de ambos bits se almacena en la memoria EEPROM del Arduino.

Figura 5.2. Registros 204 al 209 - Configuración de los Dispositivos HART.

Bit 4 – Error de Comunicación 0 = Sin Error de Comunicación. (Por

Defecto)

32

1 = Error de Comunicación.

Este error ocurre cuando hay un fallo en

la comunicación entre el dispositivo

HART y el WiFi Sentinel.

Bit 3 – Error de Checksum 0 = Sin Error de Checksum. (Por

Defecto).

1 = Error de Checksum

Este error ocurre cuando el mensaje

enviado por el Dispositivo HART

contiene errores y no es válido.

Bit 2 – Bandera de Error 0 = Sin Error. (Por Defecto).

1 = Error.

Al activarse la bandera de error se

activará igualmente alguna de las

banderas anteriores dependiendo de

cuál sea el error que se presenta.

Bit 1 – Manual/Automático 0 = Modo Automático.

1 = Modo Manual. (Por Defecto).

El valor de este bit se almacena en la memoria EEPROM del Arduino.

33

Bit 0 – Barrido 0 = Fuera de Barrido. (Por Defecto).

1 = En Barrido.

El valor de este bit se almacena en la memoria EEPROM del Arduino.

5.4 Modos de Operación.

5.4.1. Punto a Punto.

En la Figura 5.3 se muestra el Diagrama de Flujo del programa principal del modo

de operación Punto a Punto, y en la Figura 5.4 se muestra el Diagrama de Flujo de la rutina

de Error.

Figura 5.3. Diagrama de Flujo Modo de Operación Punto a Punto.

34

Figura 5.4. Diagrama de Flujo Error Punto a Punto.

35

Al inicializarse el WiFi Sentinel primero verifica si el Dispositivo HART 0 se

encuentra en Modo Manual o en Modo Automático. Si el dispositivo se encuentra en Modo

Manual, el WiFi Sentinel esperará a que el dispositivo sea puesto en barrido por el usuario,

en cambio, si el dispositivo se encuentra en Modo Automático, el WiFi Sentinel pondrá en

barrido al dispositivo HART. A continuación, el WiFi Sentinel envía el Comando 0 HART

a la dirección de barrido 0 para así aprender la dirección única de 5 bytes del dispositivo.

Luego de obtenida esta dirección, el WiFi Sentinel pasa a enviarle el comando 3 HART al

dispositivo para así leer la corriente del lazo, la variable primaria, secundaria, terciaria y

cuaternaria del dispositivo. Tanto la dirección única del dispositivo como la información de

sus variables y la corriente del lazo serán almacenadas en los Registros Modbus

correspondientes al Dispositivo 1. Posteriormente, el WiFi Sentinel seguirá interrogando al

Dispositivo HART con el Comando 3 para así actualizar la información.

Al ocurrir un error en la comunicación, el WiFi Sentinel enviará el Comando 0 o el

Comando 3, dependiendo del caso, el número de veces que se establezcan en el parámetro

de Reintentos de la Configuración del Protocolo HART. Si al finalizar esa cantidad de

reintentos no ha habido una respuesta válida por parte del dispositivo HART, este será

sacado de barrido y se indicará que está en error y cuál es el error correspondiente (Error en

el mensaje o Error de comunicación). Si el dispositivo HART se encuentra en Modo

Manual, el WiFi Sentinel esperará a que el usuario ponga en barrido al dispositivo

nuevamente, en cambio, si se encuentra en Modo Automático, el WiFi Sentinel activará el

Temporizador del Modo Automático de dicho dispositivo y al finalizar el temporizador, se

intentará nuevamente comunicarse con el dispositivo HART enviando el Comando 0. Al

obtener una respuesta del dispositivo HART, el WiFi Sentinel enviará el Comando 3

HART y se mantendrá actualizando su información, por otro lado, si la respuesta del

dispositivo HART es inválida, se volverá a activar el Temporizador del Modo Automático

del dispositivo y se repetirá el proceso hasta que el dispositivo responda correctamente.

36

5.4.2 Punto a Multipunto.

En la Figura 5.5 se muestra el Diagrama de Flujo del programa principal del modo

de operación Punto a Punto, y en la Figura 5.6 se muestra el Diagrama de Flujo de la rutina

de Error.

Figura 5.5. Diagrama de Flujo Modo de Operación Punto a Multipunto.

37

Figura 5.6. Diagrama de Flujo Error Punto a Multipunto.

Al inicializarse el WiFi Sentinel primero verifica si los Dispositivos HART 1, 2, 3,

4 y 5 se encuentran en Modo Manual o en Modo Automático. Los dispositivos que se

38

encuentren en Modo Automático serán puestos en barrido por el WiFi Sentinel, de lo

contrario, los dispositivos que se encuentren en Modo Manual deberán ser puestos en

barrido por el usuario. A continuación, el WiFi Sentinel comprueba que el dispositivo

HART 1 se encuentre en barrido, de no estar en barrido el WiFi Sentinel pasa al dispositivo

HART 2 y así sucesivamente. En cambio, si el dispositivo HART 1 se encuentra en barrido,

el WiFi Sentinel envía el Comando 0 HART a la dirección de barrido 1 para así aprender la

dirección única de 5 bytes del dispositivo HART 1. Luego de obtenida esta dirección, el

WiFi Sentinel pasa a enviarle el comando 3 HART al dispositivo para así leer la variable

primaria, secundaria, terciaria y cuaternaria del dispositivo. Tanto la dirección única del

dispositivo como la información de sus variables serán almacenadas en los Registros

Modbus correspondientes al dispositivo HART 1. Posteriormente, el WiFi Sentinel

comprueba que el Dispositivo HART 2 se encuentre en barrido y realiza el mismo

procedimiento que hizo con el Dispositivo HART 1 con la diferencia de que la dirección de

barrido será la 2, y la información del dispositivo será almacenada en los Registros Modbus

correspondientes al dispositivo HART 2. Este proceso se realiza para los cinco dispositivos

cambiando la dirección de barrido dependiendo del dispositivo. Después de haber

verificado cuales dispositivos se encuentran en barrido y haber aprendido la dirección única

de cada dispositivo conectado, el WiFi Sentinel se mantendrá interrogando con el Comando

3 HART a los dispositivos HART que se encuentren en barrido.

Al ocurrir un error en la comunicación, el WiFi Sentinel enviará el Comando 0 o el

Comando 3, dependiendo del caso, el número de veces que se establezcan en el parámetro

de Reintentos de la Configuración del Protocolo HART. Si al finalizar esa cantidad de

reintentos no ha habido una respuesta válida por parte del dispositivo HART, este será

sacado de barrido y se indicará que está en error y cuál es el error correspondiente (Error en

el mensaje o Error de comunicación). Si el dispositivo HART se encuentra en Modo

Manual, el WiFi Sentinel pasa al siguiente dispositivo HART mientras espera a que el

usuario ponga en barrido al dispositivo nuevamente, en cambio, si se encuentra en Modo

Automático, el WiFi Sentinel activará el Temporizador del Modo Automático de dicho

dispositivo y pasa al siguiente Dispositivo. Al finalizar el temporizador previamente

activado, el WiFi Sentinel intentará nuevamente comunicarse con el dispositivo HART

39

enviando el Comando 0. Si la respuesta del dispositivo HART es válida, el WiFi Sentinel

enviará el Comando 3 HART y pasa al siguiente dispositivo HART, por otro lado, si la

respuesta del dispositivo HART es inválida, se volverá a activar el Temporizador del Modo

Automático de dicho dispositivo y se pasará al siguiente dispositivo HART.

5.5 Registros Asociados a los Dispositivos HART.

A continuación, se presenta la Tabla 5.2 donde se muestran los Registros Modbus

donde se almacena la información necesaria para construir la dirección única de 5 bytes de

cada dispositivo HART. Esta tabla es llenada con la data recibida en la respuesta al

Comando 0 HART.

Tabla 5.2. Registros de Dirección Única.

40

La información obtenida en la respuesta al Comando 3 se almacena en los Registros

Modbus que se muestran en las Tabla 5.3, Tabla 5.4, Tabla 5.5, Tabla 5.6, Tabla 5.7 y

Tabla 5.8.

Tabla 5.3. Registros de la Corriente del Lazo.

Tabla 5.4. Registros de las Variables del Dispositivo HART 1.

41

Tabla 5.5. Registros de las Variables del Dispositivo HART 2.

Tabla 5.6. Registros de las Variables del Dispositivo HART 3.

42

Tabla 5.7. Registros de las Variables del Dispositivo HART 4.

Tabla 5.8. Registros de las Variables del Dispositivo HART 5.

43

5.6 Parámetros de Fábrica.

En el programa los parámetros de fábrica se ajustaron a los valores Por Defecto que

fueron mostrados previamente en las Figura 5.1 y Figura 5.2.

Para restaurar los valores de fábrica, se debe desenergizar el WiFi Sentinel y poner

el Jumper J20 en la posición mostrada en la Figura 5.3, luego volver a energizar el WiFi

Sentinel y desenergizarlo nuevamente para poner el Jumper J20 en la posición normal.

Figura 5.7. Configurando los parámetros de fábrica del protocolo HART.

44

CAPÍTULO VI

PRUEBAS DE FUNCIONAMIENTO

En este capítulo se muestran las pruebas de funcionamiento del protocolo HART

una vez integrado al resto del software del WiFi Sentinel.

Al contar solamente con un Dispositivo HART disponible las pruebas se hicieron

únicamente en el modo de operación Punto a Punto. Sin embargo, mediante el uso del

Software XCTU se verificó que en el modo de operación Punto a Multipunto las

direcciones de barrido a las que se enviaba el Comando 0 correspondían a los Dispositivos

HART que se establecían en barrido.

En la Figura 6.1 se muestran todos los Registros Modbus relacionados al Protocolo

HART mediante el programa ModScan32 y usando un Maestro Modbus. En esta figura, se

destaca que todos los Registros Modbus asociados al Dispositivo 1 han sido llenados con la

información del Transmisor de Temperatura.

45

Figura 6.1. Registros Modbus del Protocolo HART.

En la Figura 6.2 se puede apreciar la temperatura medida por el Dispositivo HART

y en la Figura 6.3 se observa la Temperatura que indican los Registros Modbus 238 y 239,

donde se almacena la data de la Variable Primaria del Dispositivo HART 1. Esta data al

venir en formato Punto Flotante, se reparte entre dos Registros Modbus, y con el uso de las

opciones de visualización del ModScan32 esta data se puede visualizar en su representación

decimal, tal y como se muestra en la figura.

46

Figura 6.2. Temperatura medida por el Transmisor HART.

Figura 6.3. Temperatura mostrada por los Registros Modbus 238 y 239.

47

Para las pruebas del Modo de Fallo, se probaron sus 3 modalidades. Para la primera

prueba, se configuró el Protocolo HART para mantener los valores previos y se indujo un

error en la comunicación para que el WiFi Sentinel sacara de barrido al Dispositivo HART.

La Figura 6.4 muestra el valor en representación decimal de los Registros Modbus de las

cuatro variables dinámicas del Dispositivo HART 1 luego de haber salido de barrido. Cabe

destacar, que el tipo de dispositivo HART usado en la pasantía solo reporta dos variables

dinámicas, las otras dos variables solo muestran un valor NaN.

Figura 6.4. Valores Previos Modo de Fallo.

Tal y como se observa, los valores previos fueron mantenidos después de que el

dispositivo salió de barrido por error.

Para la segunda prueba se modificó la configuración del Protocolo HART para el

Valor Predeterminado del Modo de Fallo, y se cambió el valor de los Registros 200 y 201,

48

los que almacenan el valor predeterminado, en este caso, se cambiaron a 0x1234 y 0x4567

respectivamente, tal y como se aprecia en la Figura 6.5.

Figura 6.5. Registros del Valor Predeterminado del Modo de Fallo.

Al igual que en la prueba anterior, se indujo un error en la comunicación para que

así el dispositivo saliera de barrido. La Figura 6.6 muestra el valor de los registros Modbus

de las cuatro variables del Dispositivo HART 1 luego de haber salido de barrido.

Figura 6.6. Valores Predeterminados Modo de Fallo.

49

Para la tercera y última prueba, se modificó la configuración del Protocolo HART

para el Valor NaN de la IEEE-754 y se indujo un error en la comunicación para que así el

dispositivo saliera de barrido. La Figura 6.7 muestra el valor de los registros Modbus de

las cuatro variables del Dispositivo HART 1 luego de haber salido de barrido.

Figura 6.7. Valor NaN de la IEEE-754 Modo de Fallo.

Luego de realizadas las pruebas el Registro Modbus del Conteo de Error del

Dispositivo 1 (Registro 210) aumentó a 3 (11 en binario), tal y como se puede apreciar en

la Figura 6.8.

50

Figura 6.8. Conteo de Error del Dispositivo 1.

Adicional al proyecto de pasantías, el software del WiFi Sentinel hecho por la

empresa se modificó para que de esta manera pudiera aceptar 2 maestros Modbus

simultáneamente sin haber pérdidas de información significativas. La Figura 6.9 muestra el

funcionamiento de ambos Maestros Modbus preguntando por registros diferentes al mismo

tiempo.

51

Figura 6.9. Dos Maestros Modbus Simultáneos.

52

CONCLUSIONES

El desarrolló del driver de comunicaciones del protocolo HART cumple de manera

satisfactoria los requisitos planteados por la empresa y siguiendo las reglas del protocolo.

Se comprobaron todos los aspectos de la funcionalidad, características y diferentes

configuraciones del driver de comunicaciones en el modo de operación Punto a Punto

utilizando un Transmisor de Temperatura.

El proyecto de pasantía realizado tiene un impacto directo en el producto WiFi

Sentinel, ya que gracias al desarrollo del driver de comunicaciones del protocolo HART, el

WiFi Sentinel amplía su capacidad de conexión con dispositivos de medición y control

industrial que se comunican mediante el protocolo HART, para luego reportar la

información a través del estándar IEEE 802.11 (WiFi).

Se comprobó la capacidad que tiene el driver de comunicaciones de enviar el

Comando 0 HART a las direcciones de barrido de los Dispositivos HART que se

establecieran en barrido.

Se cumplió con un objetivo que va más allá del proyecto de pasantías, el cual fue

adaptar el software ya existente en el WiFi Sentinel para así poder establecer una

comunicación estable con dos Maestros Modbus simultáneamente, lo que mejora

significativamente el rendimiento del WiFi Sentinel.

El estudio y desarrollo para cumplir con los objetivos del proyecto permitieron

adquirir y/o ampliar la base de conocimientos sobre la plataforma de Arduino, drivers,

protocolos de comunicación y lenguajes de programación.

53

RECOMENDACIONES

A la Universidad:

Adaptar los planes de estudio a las nuevas tecnologías de desarrollo como lo son el

Raspberry Pi y el Arduino.

A la Empresa:

Contar con la disponibilidad de todos los equipos necesarios para la realización de

todas las pruebas de funcionamiento referentes al Protocolo HART.

Realizar y adaptar las pruebas del driver desarrollado en el modo de operación

Punto a Multipunto con distintos Dispositivos HART de forma de ampliar la

funcionalidad del dispositivo.

54

REFERENCIAS BIBLIOGRÁFICAS

[1] BOWDEN, R. HART Field Communication Protocol: A Technical Overview.

2ªedición. Fisher-Rosemount, Texas, 1999.

[2] THOMAS L. FLOYD. Fundamentos de Sistemas Digitales, 7ª edición. Pearson

Educación, S.A. Madrid. 2000.

[3] Enrique Palacios Municio, Fernando Remiro Domínguez, Lucas J. López Pérez.

Microcontrolador PIC16F84 Desarrollo de proyectos. 1ª edición. Alfaomega Grupo Editor.

México. Agosto 2004.

[4] WAYNE TOMASI. Sistemas de Comunicaciones Electrónicos. Pearson Educación.

México. 2003

[5] Romilly's HART and Fieldbus Web Site (2009). [Página Web en línea]. Disponible en:

http://www.romilly.co.uk/whathart.htm [Consulta: 2017, Abril 20].

[6] National Instruments (2014). [Página Web en línea]. Disponible en:

http://www.ni.com/white-paper/52134/es/ [Consulta: 2017, Abril 22].

[7] Arduino (2009). [Página Web en línea]. Disponible en: http://arduino.cl/que-es-arduino/

[Consulta: 2017, Abril 24].

[8] WFS-1000. Operation and Configuration Manual, Revisión N° 0, 2016.

[9] Electro Industria (2009). [Página Web en línea]. Disponible en:

http://www.emb.cl/electroindustria/articulo.mvc?xid=1303&tip=7 [Consulta: 2017, Abril

24].

[10] IEEE Standard for Floating Point Arithmetic (2008). Disponible en:

https://www.csee.umbc.edu/~tsimo1/CMSC455/IEEE-754-2008.pdf [Consulta: 2017, Abril

25].

55

[11] VEGA (2015). Disponible en: https://www.vega.com/es-

ES/Productos/Cat%C3%A1logo-de-productos/Acondicionadores-de-

se%C3%B1al/Software/DTM-Collection-und-PACTware [Consulta: 2017, Abril 25].

[12] XBee (2017). Disponible en: http://xbee.cl/que-es-xbee/ [Consulta: 2017, Abril 30].

[13] Aprendiendo Arduino (2016). Disponible en:

https://aprendiendoarduino.wordpress.com/tag/xctu/ [Consulta: 2017, Abril 30].

[14] HW Group (2016). Disponible en: http://www.hw-

group.com/products/hercules/index_es.html [Consulta: 2017, Abril 30].

[15] Microflex (2015). Disponible en: https://microflx.com/pages/products [Consulta:

2017, Abril 30].

[16] Win-Tech Software Design (2009). Disponible en: https://www.win-

tech.com/html/modscan32.htm [Consulta: 2017, Abril 30].

56

ANEXOS

Anexo 1: Arduino en la placa del WiFi Sentinel.

57

Anexo 2: WiFi Sentinel.

58

Anexo 3: Conexión del Transmisor HART al WiFi Sentinel.

59

APÉNDICE A

MANUAL DE USUARIO

60

61

62

63

64

65

66

67

68

69

70

71