Protocolo Hart ERIKA

download Protocolo Hart ERIKA

of 88

Transcript of Protocolo Hart ERIKA

UNIVERSIDAD SIMN BOLIVAR INGENIERA ELECTRNICA

PROTOCOLO DE COMUNICACION HART Para los instrumentos de FLOTECH S.A.

POR Erika Febres Urdaneta

Proyecto de Pasanta Presentado ante la Ilustre Universidad Simn Bolvar Como requisito Parcial para Optar al Titulo de Ingeniero Electrnico

Sartenejas, Febrero 2001

i

PROTOCOLO DE COMUNICACION HART Para los instrumentos de FLOTECH S.A. por Erika Febres Urdaneta Tutor Acadmico: Guillermo Villegas. Tutor Industrial: Gerardo Febres.

RESUMENEl actual proceso de digitalizacin de la informacin hace necesaria la existencia de equipos de campo para industrias que sean capaces de transmitir y recibir datos. En la era analgica una de las opciones eran lazos de corriente de 4 20 mA que indicaban el valor de la nica variable que era posible transmitir. Pero en la actualidad se hace indispensable la comunicacin digital; para ello Fisher Rosemount ide el protocolo HART, que no solo permite la comunicacin de los dispositivos de modo digital, sino tambin utiliza la instalacin de cables de la antigua configuracin. Este protocolo se basa en la transmisin de una seal de corrimiento en frecuencia de 1200Hz y 2200Hz, superpuesta en la seal analgica, que viaja del maestro hacia el esclavo y viceversa mediante una estructura de mensajes digitales estndar, lo que permite interconectar equipos de diversos fabricantes a un mismo dispositivo maestro. La empresa Flotech S.A., fabricante de equipos medidores de flujo y de nivel desea implementar el protocolo de comunicacin Hart. Para poder implementar sta capacidad a sus equipos, es necesario el diseo de un mdulo de digital que se conecte al mdulo analgico (sensor). Este mdulo consta de una parte fsica (hardware) y de una parte no tangible (software), que se integran al utilizar el microcontrolador TIGER de Wilke Technologies (firmware). En este microcontrolador se almacenan todos los datos que el protocolo Hart requiere, adems de ser utilizado para controlar el mdem, el generador del lazo de corriente, el conversor analgico digital y mltiples interruptores que regulan o calibran los instrumentos. El resultado, un instrumento que se comunica a un PC mediante un programa que genera y recibe mensajes de acuerdo al formato Hart.

ii

A mi Familia

Gabriel, Lia, Yurib y DeborahMi hermano

Pedro Rondn

iii

AGRADECIMIENTOSA mi Tutor Acadmico Guillermo Villegas, por sus enseanzas y diferentes propuestas de solucin a mis problemas, no solo durante la pasanta, sino a lo largo de mis aos de estudios. A mi Padre Gabriel Febres, por el apoyo y ayuda en el diseo del circuito e implementacin del proyecto en todo momento, a pesar de la distancia. A mi familia en general, por darme fuerzas para culminar mis estudios y el proyecto de pasanta, al recordarme cada da que deba esforzarme y concentrarme en mi trabajo, obviando todo aquello ajeno a ste. A mi hermano Pedro, ya que sin l no lo hubiese logrado. Por todo su ingenio, del cual durante aos e aprendido miles de cosas tiles al momento de disear y ensamblar tanto programas como circuitos. A mi novio Jonathan Bartolotta, por toda su ayuda cuando el programa no quera funcionar, el apoyo moral en las noches sin fin y su cario siempre presente.

iv

INDICE GENERAL CAPITULO 1.- INTRODUCCIN...11.1.-Objetivo general2 1.2.-Objetivos especficos..2 1.3.- Descripcin de los captulos3

CAPITULO 2.- PROTOCOLO HART52.1- Breve introduccin al protocolo Hart..5 2.1.1.- Qu es un dispositivo inteligente?.5 2.1.2.- Leyendo informacin mediante comunicacin digital7 2.1.3.- Comunicacin multipunto..7 2.1.4.- El protocolo Hart.8 2.1.5.- Los comandos del protocolo Hart.10

2.2- La seal fsica....10 2.2.1.- Codificacin por desplazamiento en frecuencia11 2.2.2.- Los niveles de la seal...11 2.2.3.- El lazo de conexin.12 2.2.4.- Conexin de mltiples dispositivos..13

v

2.3- Procedimiento de transacciones, cdigo y estructura del mensaje...13 2.3.1.- Procedimiento de transaccin..14 2.3.2.- El modo de rfagas (BURST Mode)14 2.3.3.- Codificacin de caracteres15 2.3.4.- Formato de mensaje..15 2.3.5.- Ejemplo de transacciones.19 2.4- Comandos y datos respectivos, bytes de estado22 2.4.1.- Comandos universales..22 2.4.2.- Comandos de practica comn..24 2.4.3.- Comandos especficos de dispositivo.25 2.4.4.- Elementos enumerados.25 2.4.5.- Bytes de estado..26

CAPITULO 3.- DESCRIPCIN DEL SISTEMA..283.1- Cmo disear e implementar el protocolo HART?..28 3.2- Hardware, materiales y fabricacin.29 3.2.1.- Microcontrolador 30 3.2.2.- Desarrollo de la tarjeta digital ..33 3.2.3.- El Mdem Hart ...36 3.2.4.- Descripcin del modulador HT2012.39vi

3.3.- Programas del microcontrolador ( firmware)..42 3.3.1.- Recepcin y Anlisis de Datos.43 3.3.2.- Respuesta al Comando.44 3.3.3- Transformacin de valores.45 3.3.4- Codificacin o compresin de caracteres45 3.3.5- Conversin Analgico a Digital..45 3.4.- Programa para el maestro o interfaz para el usuario.47

CAPITULO 4.- PRUEBAS Y RESULTADOS..524.1.- Tarjeta digital.52 4.2.- Interfaz para el usuario ..53 4.3- Sistema interconectado..56

CAPITULO 5.- CONCLUSIONES Y RECOMENDACIONES595.1.- Conclusiones59 5.2.- Recomendaciones...60

REFERENCIAS BIBLIOGRFICAS.61 ANEXOS62

vii

INDICE DE FIGURASFigura 1.1 Sistema de comunicacin mediante protocolo Hart.2 Figura 2.1 Conexin punto a punto....6 Figura 2.2 Conexin multipunto.8 Figura 2.3 La seal HART9 Figura 2.4 Estructura del mensaje HART10 Figura 2.5 Lazo de conexin simple12 Figura 2.6 Cadena de bits de caracteres...15 Figura 2.7 Formato de los mensajes Hart.15 Figura 2.8 Estructura del formato corto17 Figura 2.9 Estructura del formato largo...18 Figura 2.10 Transaccin en formato corto...20 Figura 2.11 Transaccin en formato largo21 Figura 3.1 Diagrama del sistema a realizar..28 Figura 3.2 Diagrama de la tarjeta digital..30 Figura 3.3 Microcontrolador TIGRE30 Figura 3.4 Bloque interno del LTC1298..34 Figura 3.5 Conexin del generador del lazo de corriente AD69435 Figura 3.6 Elementos de la tarjeta impresa del circuito digital36 Figura 3.7 Circuito completo del Mdem Hart37 Figura 3.8 Filtro de Entrada del Mdem..38viii

Figura 3.9 Filtro de Salida del Mdem.38 Figura 3.10 Reloj del mdem...39 Figura 3.11 Mdem Hart HT2012....40 Figura 3.12 Primeros circuitos impresos para el mdem.41 Figura 3.13 Conexin del mdem Hart a la tarjeta digital...41 Figura 3.14 Estructura del firmware.42 Figura 3.15 Interfaz grfica del programa maestro..48 Figura 4.1 Tarjeta digital con todos sus elementos..52 Figura 4.2 Interfaz grfica del maestro.53 Figura 4.3 Interfaz una vez presionado COMPONER.54 Figura 4.4 Interfaz despus de presionar SEND...55 Figura 4.5 Interfaz con los resultados del proceso de comunicacin...56

Figura 4.6 Sistema con capacidad de manejar el protocolo Hart...58

ix

INDICE DE TABLASTabla 2.1 Niveles de la seal Hart...11 Tabla 2.2 Especificaciones de tiempo en modo de rfaga. ..15 Tabla 2.3 Valores del byte de inicio.17 Tabla 2.4 Comandos universales..22 Tabla 2.5 Comandos de prctica comn...24 Tabla 2.6 Variables enumeradas...26

Tabla 3.1 Especificaciones de los pines del microcontrolador.32

x

CAPITULO 1.-INTRODUCCINEn las industrias con equipos de campo, como las petroleras y procesadoras, es necesaria la lectura permanente de variables diversas de sus estanques, tuberas o mquinas para evitar prdidas del producto, accidentes o simplemente una falta de eficiencia en la produccin. Estas mediciones en un principio eran manuales, y se requera de un vasto personal para poder controlar toda la fabrica, planta de produccin o campo de extraccin. Con el tiempo, y el desarrollo de la tecnologa se crearon sensores electrnicos que permitan la lectura de las variables de un modo ms conveniente, e incluso la transmisin de las mismas a un equipo central. Una de estas formas de comunicacin es el lazo de 4 a 20 mA, un lazo de corriente que al cual dependiendo del valor medido por el sensor, se le asigna un nivel de corriente en mA, es decir, 4 mA equivaldra al menor valor posible de la variable medida y 20 mA al mximo. En la actualidad, el mundo se ve afectado por la digitalizacin de la informacin y estos procedimientos y medios de medicin no se ven excluidos de la misma. Con el tiempo se han implementado en el campo e industrias otros mtodos para poder realizar las mediciones de modo remoto, sin la necesidad de ir al campo, y que a su vez permitan la transmisin de una informacin detallada del equipo y sus funciones. Una de las actuales formas de comunicar dispositivos es mediante el protocolo Hart, ideado por Fisher Rosemount. El protocolo HART es actualmente propiedad de la Fundacin HART, y se basa en la parte fsica, en una seal digital de 0s y 1s , modulada en codificacin por desplazamiento en frecuencia de 2200Hz y 1200Hz respectivamente, y en la parte no tangible, en un mensaje de bytes o informacin estructurado de modo que pueda ser comprendido e implementado por diversos fabricantes de equipos de medicin. Este protocolo fue diseado tomando como referencia el modelo OSI. La empresa Flotech S.A., es una empresa venezolana con aos de funcionamiento, que presta servicios a una de las principales extractoras de petrleo del pas, PDVSA (Petrleos de Venezuela S.A.). Siendo Flotech S.A. una empresa que pretende implementar en sus equipos todos los avances tecnolgicos posibles, y bajo peticin de PDVSA, de equipos que trabajaran con el protocolo; se hace necesaria la creacin de un nuevo equipo digital con capacidad HART. Los dispositivos de la empresa se fabricaran de modo que el sensor contenga dos tarjetas impresas, una de ellas analgica (que no ha sido an diseada) y la otra digital. El diseo de la tarjeta digital es el objetivo principal de este proyecto, sin embargo no es el nico, ya que para poder realizar

pruebas e incluso para llevar acabo el proceso de diseo es necesaria una interfaz (software) para el terminal maestro, que en este caso ser un computador personal. Para ilustrar esto el sistema se muestra en la figura 1.1.

Figura 1.1 Sistema de comunicacin mediante protocolo Hart

Para poder desarrollar este proyecto se requieren conocimientos a fondo del protocolo HART y de los materiales o equipos que la empresa pretende utilizar para la implementacin de esta capacidad de comunicacin. En el siguiente libro, encontrar toda la informacin necesaria, adems de las diferentes actividades realizadas para llevar acabo este proyecto: Implementar el Protocolo de Comunicacin HART en los instrumentos de FLOTECH S.A. Seccin 1.1.- Objetivo general. Realizar el diseo de la tarjeta digital y la interfaz de usuario del maestro para introducir el protocolo de comunicacin HART en los dispositivos o medidores de nivel y flujo de la empresa venezolana Flotech S.A. Seccin 1.2.- Objetivos especficos Disear e implementar un circuito que module la seal por desplazamiento en frecuencia que establece el protocolo Hart para ser incluido en los equipos o en el circuito impreso digital, en su defecto, disear un circuito impreso que integre todos los componentes digitales de los sensores (hardware). Disear un programa (firmware) para el microcontrolador TIGER de Wilke Technologies, utilizado en los equipos de Flotech S.A. que se encargue de procesar los mensajes de un dispositivo maestro mediante el uso del protocolo Hart.2

Disear un programa (software) para el maestro, en este caso un computador personal, que se utilice en la empresa para calibrar y probar los equipos que se vendern. Seccin 1.3.- Descripcin de los Captulos El captulo 2 se basa en una visin a fondo de lo que es el protocolo HART. Este se estructura en secciones que van de descripciones generales del protocolo, como modo de conexin, tipo de transmisin, que tipo de dispositivos pueden hacer uso del protocolo, hasta especificaciones de la estructura de los mensajes para cada comando que transmite el maestro, especificaciones de tiempo de retardo de las respuestas, definicin del significado de cada bit en campos de la estructura como el de direccin, etc. La primera seccin es un resumen general de las ventajas que presenta el protocolo, y las siguientes se presentan de acuerdo al orden de las capas del modelo de referencia, el modelo OSI. La segunda seccin corresponde a la capa fsica, capa 1. La tercera seccin corresponde a la capa 2 del modelo OSI, la capa de enlace y finalmente la ltima seccin se referira a la capa 7 del modelo OSI o la capa de aplicacin, en la cual se describe en detalle la estructura de los datos. El captulo 3 describe el diseo del circuito digital, del programa del microcontrolador o el firmware, y del programa del computador. La primera seccin describe el hardware: los circuitos integrados utilizados, el diseo del circuito modulador, el circuito generador del lazo de corriente, el conversor anlogo digital y la interconexin con el microcontrolador y el computador personal. Luego, en la segunda seccin, se menciona las diferentes rutinas del microcontrolador o firmware, se describe el mtodo de desarrollo y las funciones de cada una de estas. Finalmente, la creacin y el funcionamiento de la interfaz grfica para el terminal maestro en el PC (personal computer ,computador personal). En el captulo 4 encontrar los resultados del proyecto, una descripcin general del producto final obtenido al haber concluido el diseo y las pruebas que se realizaron para verificar su funcionamiento. Se observa el sistema, con las conexiones pertinentes y las respuestas que se visualizan en la interfaz del terminal maestro.

3

El captulo 5 incluye las conclusiones y recomendaciones, las cuales sirven para informar al lector de mejoras futuras sobre el diseo, dado que el producto final es un prototipo y no un diseo para produccin masiva.

4

CAPITULO 2.- PROTOCOLO HARTEn el siguiente captulo encontrar toda la informacin necesaria, en el mbito de diseo, sobre el protocolo HART. En el mbito de diseo implica que algunas de las secciones son muy especficas. Seccin 2.1.- Instrumentos Inteligentes y el protocolo HART.En la presente seccin encontrar los conceptos principales de comunicacin digital en los dispositivos de campo, del modo implementado por Fisher-Rosemount en su familia inteligente de transmisores utilizando el protocolo HART (Highway Addressable Remote Transducer). Se basa en una vista general del protocolo, en que tipo de dispositivos se implementa, como mejora la lectura de las variables de los sensores el uso de este protocolo, que tipos de conexiones pueden ser utilizadas, que es el protocolo en s (descripcin general) y cuales son los comandos de los que se dispone al utilizar HART. 2.1.1.-Qu es un dispositivo Inteligente? El adjetivo inteligente, aplicado a un dispositivo de campo, se utiliza para describir cualquier dispositivo que incluye un microprocesador. Tpicamente esto implicara funcionalidad extra, por encima de lo que proveen dispositivos similares pero no basados en microprocesadores. Por ejemplo, un transmisor inteligente puede proporcionar mayor precisin al compensar mediante clculos la nolinealidad, o la dependencia de temperatura de un sensor. Podra operar con una variedad de sensores de diferentes tipos. Puede combinar dos medidas en una sola (por ejemplo volumen de flujo y temperatura entre flujo de masa). O hasta podra permitir calibracin y re-establecimiento de rangos. Frecuentemente proveera diagnsticos internos, y pruebas automticas, para simplificar los procedimientos de mantenimiento. Para mayor informacin sobre las ventajas y aplicaciones del protocolo refirase al anexo 1. Adems de ofrecer un mejor rendimiento, sta extra funcionalidad puede reducir el procesamiento requerido por el sistema de control, y tambin puede resultar en la reduccin de varios instrumentos a un simple modelo, con ventajas de fabricacin y manejo de inventario.

5

Para hacer uso de estas ventajas, los dispositivos inteligentes requieren de un plug-in o configurador, una caja con una cantidad de botones y una pantalla LCD (liquid cristal display) para que el usuario pueda instalar y controlar el instrumento. El prximo paso por lgica sera permitir que el instrumento y el panel de configuracin estuviesen separados por largas distancias, utilizando comunicaciones digitales seriales bien definidas entre ellos. Luego se necesitara incluir esta comunicacin en los dos cables ya existentes para controlar el dispositivo desde el cuarto de control. Esto es lo que nos lleva al uso actual de la palabra inteligente segn Fisher Rosemount, para describir dispositivos de campo en los cuales la seal analgica, la seal digital y la alimentacin del equipo, son transmitidas por el mismo par de cables. Con tales instrumentos, se obtienen las ventajas de las comunicaciones digitales, mientras se mantiene la compatibilidad con la seal analgica de entrada requerida por los sistemas actuales. Ahora, utilizando comunicacin digital, adems de instalar y controlar de un modo ms sencillo el dispositivo de campo, es posible leer la variable medida y muchos otros parmetros a travs de conexiones punto a punto, como la que se presenta en la figura 2.1.

Figura 2.1 Conexin punto a punto Conexin punto a punto se utiliza para referirse a casos en los que solo existe un maestro y un esclavo, o un transmisor y un receptor. Entre los dems parmetros que se pueden incluir, se encuentra la posibilidad de transmitir hasta cuatro variables, lo cual representa una ventaja ante sistemas de transmisin de una nica variable, entremos ms en detalle en cuanto a este aspecto.

6

2.1.2.-Leyendo informacin mediante comunicacin digital Al utilizar comunicacin digital se vuelve posible, para un simple instrumento, proporcionar ms de una medicin o una variable (por ejemplo un medidor de flujo msico tipo Coriolis puede transmitir taza de flujo msico, temperatura del proceso, densidad y flujo total en un simple mensaje). La comunicacin digital tambin hace que valga la pena mantener informacin adicional en el instrumento de campo, para ser leda cuando sea necesario. Esto conlleva a una serie de posibilidades. Nos puede dar informacin relativa al proceso como el identificador o etiqueta del dispositivo (tag), una descripcin de la medicin, las unidades asociadas y rango de calibracin del instrumento. O puede dar informacin sobre el dispositivo como tal, actuando como una etiqueta electrnica. Ms all, puede ser utilizado para mantener historias de actividades relacionadas con mantenimiento como la ltima fecha de calibracin. La administracin del sistema de instrumentos automatizados se hace posible, utilizando informacin al da del dispositivo mismo. Una manera ms eficaz o eficiente de transmitir los datos sera aumentar el nmero de dispositivos de campo conectados a un maestro, de modo que transite mayor informacin por el lazo. Sin embargo, al conservar la medicin en mA de la variable primaria, la conexin punto a punto es la nica solucin , pero si se desea mltiples dispositivos se puede utilizar la conexin multipunto. 2.1.3.-Comunicacin multipunto Si una variable medida va a ser leda por comunicacin digital, la seal analgica de 4-20mA ya no es requerida. Se hace posible conectar mltiples dispositivos de campo en paralelo a un simple par de cables, y comunicarse con cada uno por turnos para leer sus variables (u otros datos). Para hacer esto, cada dispositivo debe tener una direccin, a la cual responder, y cada peticin del sistema de control o maestro debe incluir dicha direccin. Un esquema de este tipo de conexin se puede observar en la figura 2.2. Esta conexin multipunto puede reducir de modo significativo los costos de instalacin de cableado de los equipos, y puede ser de valor en sistemas de monitoreo. Note, sin embargo, que el tiempo entre mediciones de las variables de un mismo equipo aumentar. Ya que antes por un solo par de cables transitaba la seal de un sensor, pero en el caso de multipunto de 2 a 15 seales diferentes debern turnarse el medio.

7

Figura 2.2 Conexin multipunto 2.1.4.-El protocolo HART La aplicacin de estas mejoras a la gran gama de instrumentos y dispositivos de campo existentes, hacen que sea necesaria la implementacin o definicin de un estndar. Esto incluye especificaciones desde la parte fsica hasta la forma de transmisin, procedimientos de transacciones, estructura del mensaje, formato de los datos, y un conjunto de comandos que realicen dichas funciones. El protocolo HART fue desarrollado por Rosemount INC. Con este propsito. HART es un acrnimo para Highway Addressable Remote Transducer. Para difundir el uso de comunicacin digital en los dispositivos de campo, Rosemount Inc. a transferido todos sus derechos sobre el protocolo HART a la Fundacin de Comunicacin HART (HCF, siglas en ingles) y est disponible para el uso de cualquier compaa o persona. A modo de resumen, HART utiliza una seal estndar de BELL, 202 codificada por

desplazamiento en frecuencia, para comunicar a 1200 baudios, superpuesta sobre la seal de medicin de 4-20mA. Teniendo un promedio de cero, la seal codificada por desplazamiento en frecuencia no interfiere con la seal analgica. Para ilustrar esto observe la siguiente figura 2.3.

8

Figura 2.3 La seal HART. Hart es un protocolo maestro-esclavo (un dispositivo de campo solo responde cuando se le a pedido algo previamente). Puede haber hasta dos maestros. Hasta 15 dispositivos esclavos se pueden conectar en configuracin multipunto. Cada mensaje incluye las direcciones de su fuente y destino, para asegurarse de que es recibido por el dispositivo correcto, y tiene una suma de verificacin (checksum) para poder detectar cualquier corrupcin del mensaje. El estado del dispositivo de campo est incluido en cada mensaje de respuesta, indicando su estado de operacin correcto. Puede o no haber informacin o datos incluidos en el mensaje, dependiendo del comando en particular. Dos o tres transacciones de mensajes se pueden realizar cada segundo.

9

Figura 2.4 Estructura del mensaje HART 2.1.5.- Los comandos del protocolo HART: Para llevar a cabo diferentes funciones preestablecidas en un sensor, el protocolo hart utiliza los comandos, el identificador de la funcin que se pretende realizar. Los comandos del protocolo HART se definen en tres grupos. El primer grupo es el de comandos universales, y provee funciones que estn implementadas en todos los dispositivos de campo. El segundo grupo, comandos de prctica comn, provee funciones comunes a muchos dispositivos de campo, pero no todos. Si un dispositivo implementa funciones que estos comandos describen, debern ser invocadas mediante el nmero de comando asignado por la Fundacin Hart . El tercer grupo, comandos especficos de dispositivo (anteriormente llamados especficos de transmisor), provee funciones que son mas o menos nicas para un dispositivo particular. Seccin 2.2.- La Seal Fsica. La siguiente seccin se refiere a la capa 1 del modelo de protocolos OSI, la capa fsica. Se basa en el procedimiento de transaccin de datos (entre los cuales existe un modo exclusivo de operacin que es el modo de rfagas), a la estructura de los mensajes, describiendo con lujo de detalle el contenido de cada byte. El prembulo, el byte de inicio, el o los bytes de direccin (ya que se utilizan dos formatos diferentes de acuerdo a las distintas revisiones de HART), el byte de comando, el byte de cuenta de bytes (valga la redundancia), los bytes de datos, los bytes de estado y el de suma de verificacin o checksum; adems de las distintas codificaciones o compresiones que se realizan para poder transmitir mayor cantidad de informacin por mensaje.

10

2.2.1.-Modulacin por desplazamiento o corrimiento en frecuencia: Como ya se mencion en la introduccin (captulo 1), HART utiliza modulacin por desplazamiento en frecuencia para superponer la seal digital al lazo de corriente analgica de 4-20 mA que conecta la central al dispositivo en el campo. Estas seales sinusoidales son superpuestas en la seal DC a un nivel bajo. El promedio de las seales sinusoidales es cero, por lo que al ser incluida en la seal analgica 4-20mA no altera la misma, sin importar lo que la seal digital pueda contener. La tasa de transmisin de datos es de 1200baudios. Eso quiere decir, que los dgitos binarios se transmiten a una tasa de 1200 bits por segundo. Esto significa que el 1 es representado por un ciclo de 1200Hz, mientras que el cero es representado por aproximadamente dos ciclos de 2200Hz. Dichas frecuencias cumplen con el estndar Bell 202, uno de los muchos utilizados para transmitir informacin digital va telefnica. 2.2.2.-Los niveles de la seal El protocolo Hart tiene como especificacin, que los maestros deben transmitir una seal de voltaje, sin embargo el esclavo debe transmitir una seal de corriente. La seal de corriente se convierte a seal de voltaje mediante una pequea resistencia de carga, de modo que todos los dispositivos utilizan receptores pasivos. Los niveles pico-pico de la seal se muestran en la tabla 2.1. La forma de onda es idealmente sinusoidal, sin embargo se acepta de forma trapezoidal, pero no una seal cuadrada.Seal transmitida por el maestro Seal transmitida por el esclavo Seal mnima del esclavo, convertida por una carga de 230 ohms Seal mnima del esclavo, convertida por una carga de 1100 ohms Sensitividad del receptor(debe recibir correctamente) Sensitividad del receptor(debe omitir) min 400mV p-p max 600mV p-p min 0.8mA p-p max 1.2mA p-p 180mV p-p 1320mV p-p 120 mV to 2.0 V p-p 80 mV p-p

Tabla 2.1 Niveles de la seal HART La especificacin de sensitividad del dispositivo permite cierta atenuacin debida a la resistividad del cable u otros efectos. Las especificaciones de umbral dependen de la ocurrencia de interferencia de seales externas, y previene la interferencia entre canal (crosstalk), de otras seales11

HART que se transmitan por cables adyacentes, o sistemas que no se encuentren bien conectados a tierra o sistemas de alimentacin. 2.2.3.-El lazo de conexin La conexin convencional para un transmisor alimentado por lazo de corriente de dos hilos se muestra en la figura 2.5. En la practica, los tres elementos (la fuente de poder, el transmisor TX y la resistencia de carga, RL) se pueden conectar en cualquier orden, ya que se conectan en serie, y cualquier punto del circuito puede ir a tierra. Las especificaciones de Hart permiten resistencias de carga de 230 a 1100 ohms.

Figura 2.5 Lazo de conexin simple La seal HART debe ser introducida y leda del lazo de corriente. La fuente de poder est casi en corto circuito para las frecuencias de la seal Hart, por lo que dispositivos secundarios (como el segundo maestro) no pueden ser conectados directamente al lazo, se deben conectar en paralelo al transmisor o a la resistencia de carga, en la figura 2.5, entre los puntos A y B. Un equipo con protocolo de comunicacin Hart no debe introducir ninguna carga DC a la lnea. Para asegurarse de que as sea se debe conectar al lazo mediante un condensador de 5F o ms. Algunos de los dispositivos de campo con lazo de 4-20mA son activos, es decir, estos son los que alimentan el lazo. Con este tipo de dispositivos no hace falta la fuente de poder. En este caso en la conexin se elimina la fuente.12

2.2.4.-Conexin de mltiples dispositivos Mltiples dispositivos pueden ser conectados al mismo maestro, ya que en los mensajes se incluye la direccin de los dispositivos que se comunican. Al asignarle a los dispositivos direcciones diferentes, una cantidad mxima de 15 dispositivos pueden ser conectados a un solo lazo. Las

consecuencias de este tipo de conexin son dos principalmente, retardo en la comunicacin entre maestro y dispositivo y prdida de la seal analgica. Debido a la existencia de este tipo de conexiones, existe la direccin de multipunto, que se asigna a cada dispositivo que este conectado en paralelo, comenzando del cero al quince. Entre otras de las especificaciones que requiere el protocolo Hart se encuentra la definicin de las cargas respectivas de los equipos (maestro primario resistencia de recepcin 230-1100ohm, resistencia de transmisin 700 ohms mximo). El lmite de los 65ms, que hace que la frecuencia de corte sea de 2500Hz (para 3dB de atenuacin). Con lo anterior se impide retardos de la seal y de las frecuencias que la componen. Especificaciones para el cableado, puestas a tierra, fuente de poder, ancho de banda de la seal analgica, y ms. Sin embargo, estas especificaciones no son necesarias para el desarrollo del proyecto, puesto que el equipo al que se incluir el protocolo HART ser incluido en una red ya existente, por supuesto, deber cumplir con las normas para esclavos que establezca el protocolo. Seccin 2.3.- Procedimiento de transacciones, cdigo y estructura del mensaje En esta seccin se describe de modo ms detallado los comandos del protocolo, los comandos universales, los comandos de prctica comn y los comandos de dispositivo especfico. Incluyendo los tipos de datos que corresponden a cada uno de estos. Los bytes de estado son aquellos que indican errores en la comunicacin, en esta seccin se da a conocer el valor de estos y su significado. Se profundiza sobre la transaccin de datos entre dispositivos Hart y la estructura de los mensajes, esto corresponde a la capa 2 o nivel 2 del protocolo de referencia o modelo OSI. Hart, como se ha mencionado a lo largo de los captulos anteriores, es un protocolo de maestroesclavo. Esto significa que cada transaccin es originada por el maestro, el dispositivo de campo o esclavo solo responde cuando recibe un comando con su direccin. En la respuesta del esclavo se incluye un comando recibido, y puede que contenga los datos requeridos por el maestro. En el caso de

13

que exista un maestro secundario, estos tiene direcciones diferentes, por lo cual pueden distinguir si la respuesta es para el principal o secundario. 2.3.1.- Procedimiento de transaccin: HART es un protocolo Half-Duplex, con lo cual se quiere decir que al terminar cada mensaje, la portadora debe ser desactivada para permitir que la otra estacin transmita. Las reglas de tiempo de la portadora establecen que la portadora debe ser activada no ms del tiempo de 5 bits antes del inicio del mensaje (prembulo) y ser desactivada no ms del mismo tiempo despus de la transmisin del ltimo byte del mensaje (la suma de verificacin). El maestro es el responsable de las transacciones de mensajes. Si no hay respuesta a un comando dentro de cierto tiempo, el maestro debe retransmitir el mensaje. Despus de unos cuantos intentos debe abandonar la transaccin y notificar el problema. La longitud y retardo tpicos de los mensajes, permiten dos transacciones por segundo. 2.3.2.-El modo rfaga Para lograr una tasa de transmisin de datos mayor, algunos dispositivos utilizan el modo rfaga. Cuando un dispositivo se encuentra en este modo enva un mensaje repetidas veces. Este modo se activa y desactiva mediante los comandos especiales #107, #108 y #109 (si se implementa el modo rfaga, los comandos bsicos son #1 y #3, los dems son opcionales). Existe una pequea pausa entre mensaje y mensaje, para permitir que el maestro enve la seal de desactivacin, o para iniciar cualquier otra transaccin simple. Este modo solo funciona para la configuracin punto a punto, y se pueden enviar ms de tres mensajes por segundo. En la tabla 2.2 se encuentran las especificaciones de tiempo para los mensajes en modo de rfaga.

14

Dispositivo y tipo del mensaje El maestro primario enva un comando El maestro secundario enva un comando Esclavo en modo BURST enva mensaje Maestro sincronizado enva comando Esclavo, modo normal, responde comando Esclavo en modo BURST enva mensaje

Intervalo t >= 305 ms >= 380 ms >= 305 ms 20* - 75 ms >= 75 ms 0-256 ms 75-256 ms 0-20 ms

despus de que la lnea est desocupada despus de la respuesta al otro maestro despus de la respuesta a si mismo despus del comando despus de su mensaje anterior despus de que responde al comando inicial "activar el modo BURST", despus de la respuesta a otro comando.

Tabla 2.2 Especificaciones de tiempo en modo de rfaga 2.3.3.-Codificacin de caracteres: Los mensajes de Hart son codificados como series de 8 bits, es decir bytes. Estos se transmiten de modo serial, utilizando una UART convencional (Universal Asynchronous Receiver/Transmitter) para serializar cada byte, aadiendo un bit de inicio, un bit de paridad impar y un bit de fin, esto permite que la UART receptora identifique el inicio de cada caracter, y para detectar errores en la transmisin debidos a ruido u otro tipo de interferencia. La cadena completa de bits se muestra en la siguiente figura 2.6.

Figura 2.6 Cadena de bits de caracteres El bit menos significativo, D0 se enva primero. La mayora de los protocolos seriales permiten pausas entre los caracteres, debido a las especificaciones de tiempo de Hart esto no es posible, de ocurrir dicho retraso se asume que la comunicacin no fue establecida. 2.3.4.- Formato del mensaje: El mensaje tiene un formato como el observado en la figura 2.7.

Figura 2.7 Formato de los mensajes Hart15

Existen el formato largo y el formato corto. Los primeros instrumentos Hart (inclusive la revisin 4) siempre utilizaron el formato corto. En este formato, la direccin del esclavo un byte, de valor cero, para configuracin punto-punto o del 0 al 15 para configuracin multipunto. Esta corta direccin se denomina direccin multipunto. La revisin 5 introduce el formato largo. En este, la direccin del esclavo es un nmero de identificacin nico, un nmero de 38 bits derivado del cdigo del fabricante, el cdigo del tipo de dispositivo y el nmero de identificacin del dispositivo. Este formato impide que los esclavos tomen mensajes que no le corresponden. De un modo estricto, el identificador nico, no es nico, pueden haber hasta cuatro veces el mismo nmero, ya que del cdigo del fabricante solo se toman 6 bits, cuando el nmero en realidad consta de 8 bits. La mayora de los dispositivos maestros deben incluir ambos formatos en su totalidad, de modo que puedan trabajar correctamente con los dispositivos ya existentes as como con los nuevos. La revisin 5 establece que todos los dispositivos deben implementar el comando #0 ( leer identificacin nica) en ambos formatos del mensaje. Un maestro normalmente utilizar el comando # 0 para la primera conexin con el dispositivo, ya que en ese momento el nmero nico de identificacin no se conoce, sin embargo como el mensaje tambin incluye el nivel de revisin de HART, el maestro sabr que formato deber utilizar. El prembulo: El prembulo consiste de 5 a 20 bytes con caracteres hexadecimales FF (todos 1s). Esto permite que el receptor sincronice la frecuencia de la seal y la cadena de caracteres que recibe, despus de la deteccin inicial del mensaje Hart. Para el primer intento y cualquier intento sucesivo de comunicacin, se deberan utilizar 20 bytes de prembulo , para tener la mayor probabilidad de xito. La respuesta al comando #0 le dice al maestro cuantos caracteres de prembulo le gustara recibir al dispositivo; el maestro puede utilizar el comando #59 para indicarle cuantos bytes de prembulo debe incluir en la respuesta. El caracter de inicio (start byte): El caracter de inicio en Hart tiene diversos valores posibles, indicando cual formato est siendo utilizado, la fuente del mensaje, y si es o no un mensaje tipo rfaga. Estos se muestran en la tabla 2.3.

16

Tipo de mensaje Maestro a esclavo Esclavo a maestro Mensaje BURST del esclavo

Formato corto 2 6 1

Formato largo 82 86 81

Tabla 2.3 Valores del byte de inicio Cuando estn en espera de un mensaje, los receptores se encuentran en la bsqueda de estos caracteres , como el primer caracter despus de por lo menos dos caracteres FF, para indicar el inicio del mensaje. Estos mensajes se pueden identificar completamente con el contenido de los bits 0,1,2 y 7. Se ha propuesto que para mejoras futuras se utilicen los bits 5 y 6 del caracter de inicio para indicar la presencia de bytes extra entre la direccin y el comando. La direccin (address bytes): El campo de direccin contiene tanto la direccin del maestro como la del esclavo del mensaje enviado. Esta contenida en un byte, para el formato corto y en 5 bytes para el formato largo. El bit ms significativo de la direccin, indica si el maestro es el primario (1) o el secundario (0) . Los mensajes de tipo rfaga son una excepcin, en la cual el dispositivo alterna ambas direcciones, lo que le da oportunidad a ambos maestros de interrumpir. Tambin en ambos formatos, el bit que le sigue al ms significativo indica si el mensaje proviene de un dispositivo en modo rfaga, lo que no implica que el mensaje sea de tipo rfaga. En el formato corto, los dispositivos esclavos tienen direcciones de la cero a la quince. Este nmero se incluye de modo binario en los 4 bits menos significativos del byte de direccin. En el formato largo, la direccin de multipunto no es utilizada, en cambio, los 38 bits restantes de los cinco bytes del campo de direcciones contienen el identificador nico como una direccin. En las siguientes se puede observar la estructura de las direcciones.

Figura 2.8 Estructura del formato corto17

Figura 2.9 Estructura del formato largo En la estructura de formato largo, si se asigna cero a todos los bits, se puede utilizar como un mensaje de transmisin sin destinatario especfico, un mensaje que sea aceptado por todos los dispositivos; esto es solo posible si los datos en el mensaje determinan cual de los dispositivos debe responder. Por ejemplo, el comando #11 (leer el identificador nico asociado a la etiqueta) normalmente utiliza direcciones de transmisin sin destinatario especfico con una etiqueta en el campo de datos, de modo que todos los dispositivos conectados reciben el mensaje pero solo uno de ellos responde. Comando: El campo de comando contiene un entero del 0 al hexadecimal FD o al decimal 253, como su nombre lo indica representa el comando HART. El comando recibido se incluye en la respuesta del esclavo al ser enviada. Ya que para cada comando se define una estructura especfica para el campo de datos, y una respuesta en particular, se dedica una seccin a ste campo. Cuenta de bytes: Este campo contiene un entero, que indica el nmero de bytes que forman el resto del mensaje (eso es los campos de estado y de datos, la suma de verificacin no se incluye). El dispositivo receptor utiliza esto para identificar el byte de suma de verificacin y saber cuando el mensaje est completo. Como el campo de datos esta limitado a 25 bytes mximo, esta cuenta puede ser cualquier nmero entre 0 y 27.

18

Estado: El campo de estado tambin es llamado el cdigo de respuesta, solo se incluye en el mensaje de respuesta de un esclavo. Consta de dos bytes, que reportan cualquier error de comunicacin, el estado del comando recibido (como por ejemplo dispositivo ocupado o que no reconoce dicho comando), y el estado de operacin del esclavo. Datos: No todas las respuestas contienen datos. Para aquellas que si lo hacen, y de modo que cumplan con las reglas de tiempo, el campo de datos no puede exceder los 25 bytes. Los datos pueden estar en forma de enteros sin signo, nmeros de punto flotante o cadenas de caracteres ASCII. El nmero de bytes del campo de datos, y el formato de datos utilizado para cada tem se especifican de acuerdo al comando recibido. Suma de verificacin (checksum): El byte de suma de verificacin contiene el OR exclusivo (paridad longitudinal) de todos los bytes que le preceden en el mensaje, comenzando con el caracter de inicio. Esto provee un segundo chequeo para la integridad de la transmisin despus del de paridad por byte. La combinacin de estos dos garantiza la deteccin de hasta tres errores en un mensaje y tiene buenas probabilidades de detectar errores en ms bits. 2.3.5.- Ejemplo de transacciones: En las figuras siguientes se observan ambos formatos. En cada mensaje, los valores de los bytes se muestran en hexadecimal, con los campos de direccin escrito de modo binario para mostrar claramente su composicin. Los nombres de cada campo se encuentran indicados con sus siglas en ingles. START es el byte de inicio, ADDR es el byte de direccin, COM es el byte de comando, BCNT es el byte de cuenta de bytes y el CHKS es el byte de suma de verificacin.

19

Maestro a Esclavo:

Esclavo a Maestro:

Figura 2.10 Transaccin en formato corto

20

Maestro a Esclavo:

Esclavo a Maestro:

Figura 2.11 Transaccin en formato largo

21

Seccin 2.4.- Comandos y datos respectivos, bytes de estado. En este captulo se describe la clasificacin de los comandos de HART, y se da detalles en cuanto a la estructura de datos utilizados en la mayora de ellos. La codificacin y significado del campo de estado tambin se describe. Esto corresponde al nivel nmero 7 del modelo OSI, el nivel de aplicacin. El campo de comandos como ya se mencion en la seccin anterior, contiene un entero entre 0 y 253, en decimal, que representa los comandos de Hart. Los nmeros 31, 127, 254 y 255 se encuentran reservados. Adems, los comandos se dividen en tres grupos especficos, a saber, los comandos universales, los comandos de prctica comn y los comandos especficos del dispositivo. 2.4.1.-Los comandos universales:

Los comandos universales se encuentran

entre 0 y 30. Estos proveen funciones que son

implementadas en todos los dispositivos Hart. La tabla 2.4 contiene un resumen de estas funciones, la tabla que se encuentra en el anexo 2 los describe de un modo mucho ms detallado.Comandos 0,11 1,2,3 6 12,13,17,18 14,15 Funcin Identificar dispositivo (fabricante, tipo de dispositivo, etiqueta de revisin) Leer variables medidas Establecer direccin de escaneo.(y modo multipunto). Leer y escribir informacin introducida por el usuario (tag, fecha,mensaje) Leer informacin del dispositivo (numero serial del sensor, lmites del sensor, operacin de alarma, valores del rango, funcin de transferencia, constante de tiempo de muestreo) Leer y escribir nmero final de ensamble.

16,19

Tabla 2.4 Comando universales Los comandos #0 y #11 (comandos universales): Los comandos #0 y #11, son utilizados para identificar un dispositivo de campo. Desde la revisin 5, todos los equipos utilizan el formato largo, pero el comando #0 debe ser tambin aceptado. Esto permite que el maestro Hart identifique un dispositivo nuevo, sin antes saber su nmero de identificacin nico. Los datos en la respuesta al comando #0 incluyen el cdigo de identificacin del22

fabricante, el cdigo del tipo de dispositivo, y el nmero de identificacin del mismo. De estos, el maestro puede construir el nmero de identificacin nica para ser utilizado en los mensajes siguientes. Los comandos #1,#2 y #3 (comandos universales): Estos se utilizan para leer las variables medidas de diversas formas. Los comandos #2 y #3 incluyen la actual corriente de salida en mA. Como la verdadera salida analgica, estos valores en mA representan la variable primaria (VP) solo cuando est dentro del rango configurado. No cuando el dispositivo se encuentra en operacin multipunto ni tampoco cuando la salida tiene un valor fijo, saturado o un valor fuera del rango. Sin embargo, la VP y otras variables dinmicas retornadas con sus respectivas unidades a travs de estos comandos, no son limitadas por el rango establecido, sino que siguen la medicin del sensor. El porcentaje del rango indicado por el comando #2 tambin sigue la salida del sensor fuera de los limites, de modo que se puede ir del 0 al 100 % y por encima de esto. El comando de prctica comn #61 es equivalente al comando #3, para instrumentos similares con salidas analgicas diferentes a corriente. El comando #110 tambin devuelve variables dinmicas (sin el nivel de salida de la seal analgica). El comando #33 provee una seleccin de hasta cuatro variables del transmisor. Para mltiples dispositivos de salida, el comando #60 lee cualquier nivel de seal analgica de salida seleccionada y el porcentaje del rango, y finalmente el comando #62 provee la seleccin de hasta 4 niveles de salida. El comando #6: Este comando establece la direccin de escner del dispositivo. Cuando se establece en cero, el dispositivo funciona en modo punto a punto, generando una seal analgica de salida. Para cualquier valor entre 1 y 15, el dispositivo se cambia al modo multipunto y su salida analgica se fija en 4 mA. Los comandos #12 y #19: Estos se utilizan para leer y escribir una seleccin de la informacin del dispositivo. Para las revisiones menores e igual a 4, los comandos eran #4 y #5, con nmeros de bloques utilizados para seleccionar una particular seccin de la informacin.

23

2.4.2.-Comandos de prctica comn: Estos se encuentran en el rango 32 a 126. Proveen funciones comunes a muchos dispositivos de campo. Si estas funciones son implementadas en el dispositivo, estos comandos deben ser utilizados para invocarlas. En la tabla 2.5 se observa un resumen de dichos comandos. Los comandos de prctica comn #123 y #126 no son pblicos. Tpicamente son utilizados por los fabricantes para insertar informacin especfica del dispositivo durante su instalacin, por ejemplo el nmero de identificacin del dispositivo, que nunca ser alterado por los usuarios, o para comandos de lectura y escritura directa a la memoria. Frecuentemente se necesita de una clave para acceder estos comandos.Comandos 33,61,110 34-37,44,47 38 39 40-42 43,45-46 48 49 50-56 57-58 59 60,62-70 107-109 Leer variables medidas Establecer parmetros de operacin (rango, unidades, funcin de transferencia) Reiniciar la bandera de "Configuracin modificada". Control de la EEPROM Funciones de diagnstico (modo de corriente fija, auto prueba, reset) Ajuste de la entrada y salida analgica. Leer estados adicionales. Escribir el nmero serial del sensor. Uso de variable del transmisor. Informacin de la unidad (tag, descriptor, fecha). Escribir el nmero de bytes de prembulo necesitados. Uso de mltiples salidas analgicas. Control del modo rfaga. Funcin

Tabla 2.5 Comandos de prctica comn Los comandos de prctica comn, del #50 al #56 estn relacionados a estas variables del transmisor, sus sensores y rangos. En particular, en dispositivos que lo implementan, el comando #51 permite la seleccin de las variables del transmisor para las primeras cuatro variables. Estas pueden ser ledas utilizando el comando #3. De otro modo, el comando #33 especfica cuatro variables para ser enviadas en un mismo mensaje. Los transmisores multi-variables tambin tienen la posibilidad de ms de una salida analgica. Por definicin, las salidas enumeradas 1 a 4 representan las variables dinmicas de Hart (VP, VS, VT24

y VC) respectivamente. Los comandos de prctica comn #60 y # 62 al #70 tienen que ver con la configuracin y control de estas salidas. 2.4.3.-Comandos especficos de dispositivo: Los comandos especficos de dispositivo se encuentran en el rango 128 a 253. Sus funciones son ms o menos nicas para cada dispositivo. En la tabla del anexo 2 se muestran algunos ejemplos de estos. En la revisin 4 y anteriores, los comandos especficos de dispositivo siempre incluan el cdigo del tipo de dispositivo como el primer byte del campo de datos, para asegurarse de que un comando nunca llegara a un dispositivo no compatible. Esto fue abandonado en la revisin 5, cuando se incluy el nmero identificador nico, que cumple con la misma funcin. Datos: No todas las respuestas a comandos contienen datos. Para esos que si lo hacen, se pueden incluir un mximo de 25 bytes. Los datos pueden ser representados como: Enteros 8,16,24 o 32 bits sin signo. Nmeros de punto flotante- Formato de IEEE 754 de punto flotante de precisin . Cadenas de caracteres ASCII-usualmente 4 caracteres por cada 3 bytes. tem enumerados para una lista estndar. Si un comando no tiene xito (indicado por error en el campo de estado), las respuestas no deben contener datos. La respuesta a un comando exitoso siempre incluye el mismo set de variables como las contena el mensaje de comando; sin embargo, los valores en la respuesta son los actualmente utilizados, tomados de la memoria del dispositivo de campo, al igual que cualquier aproximacin involucrada. El nmero de bytes de datos, y el formato de los mismos (de cada elemento) son especificados para cada comando. 2.4.4.-Elementos (tem) enumerados: Los elementos de datos para los cuales se permite seleccionar de una lista de alternativas se codifican como nmeros que corresponden a cada alternativa. La tabla 2.6 muestra algunas de las listas enumeradas estndar. Existen tambin muchas listas especficas para cada dispositivo.25

Variable Identificacin del fabricante Tipo de dispositivo Unidades Funcin de transferencia Material Seleccin de alarma Proteccin a escritura Control del modo RAFAGA Sealizacin fsica

Valores 1-249, establecidos por la fundacin HART 0-249, establecidos por cada fabricante 0-249: 6 = psi, 7 = bar, 32 = C, 33 = F, etc. 0 = lineal, 1= raz cuadrada, etc. 0-249 : 2 =316 acero inoxidable, 10 = PTFE, 18 = cermica, etc. 0 = bajo, 1 = alto, 239 = mantener el ltimo valor de la salida. 0 = no protegido contra escritura, 1 = protegido. 0 = salir del modo RAFAGA, 1 = activar el modo RFAGA. 0 = corriente BELL 202, 1 = voltaje BELL 202, 2 = RS-485.

Tabla 2.6 Variables enumeradas Resumen de comandos: La tabla 1 del anexo 2 contiene un listado de la estructura de los datos de los comandos universales. Adems contiene las diferencias entre los comandos para las distintas revisiones de Hart. La tabla 2 del anexo 2 contiene los comandos de prctica comn de la revisin 5. Nota: en estas tablas los tipos de los datos se indican como sigue. A Cadena de caracteres ASCII (empacados 4 caracteres en 3 bytes); B Bits de banderas D Fecha (3 bytes, da, mes, ao-1900) F Nmero de punto flotante (4 bytes IEEE 754) H Enteros xxxxx yyy (xxxxx = revisin del hardware, yyy = cdigo de sealizacin fsica) 2.4.5.-Bytes de estado: Dos bytes de estados, tambin conocidos como cdigo de respuesta, estn incluidos en cada mensaje de los dispositivos de campo. Entre ellos, estos dos bytes guardan tres tipos de informacin diferente: errores de comunicacin, respuestas a comandos, y estado del dispositivo de campo. La tabla muestra como se hace esto con solo dos bytes. Si se detecta un error en un mensaje de salida , el bit ms significativo (bit 7) del primer byte se fija en 1, y los dems detalles del error se indican en los bits siguientes; el segundo byte contiene puros ceros. De otra forma, si la comunicacin fue exitosa, el26

bit 7 del primer byte es cero, el resto del byte contiene la respuesta al comando, indicando cualquier problema con el comando recibido, y el segundo byte contiene el estado del dispositivo de campo, indicando el estado operacional del; dispositivo. Los errores de comunicacin son aquellos que podran ser detectados por la UART. Adems informa cualquier incongruencia entre el registro de recepcin y la suma de verificacin. Los comandos de respuesta (enteros en el rango de 0 a 127) se categorizan como errores o advertencias. Y teniendo mltiples o un simple significado. La tabla muestra los rangos especficos para cada tipo. La tabla muestra aquellos que tienen mltiples significados especficos para cada comando universal o de prctica comn. El campo de estado de los dispositivos de campo incluye ambos, condicin de falla o de operacin anormal, por lo que no implica que el dispositivo est fallando. Muchos dispositivos ofrecen ms informacin de estado de la que se puede codificar en un solo byte. Para esto, el bit 4 del campo de estado se puede colocar en 1, indicando que existe mayor informacin disponible; el comando #48 puede ser entonces utilizado para leer la informacin adicional. Originalmente, el uso de los bytes de datos en el comando #48 estaba libre para ser implementado por el diseador, pero desde la revisin 5.1 de Hart, los bytes 6 al 13 deben tener significado especfico, indicando los modos de operacin y el estado de las mltiples salidas analgicas.

27

CAPITULO 3 .- DESCRIPCION DEL SISTEMAEl siguiente captulo se refiere al sistema. Las partes que integran el sistema se tratan como puntos apartes, comenzando con el circuito digital o hardware, del cual se describe los integrados utilizados y las partes que conforman cada uno de estos, comenzando por el mdem Hart HT2012 y todos los circuitos externos que requiere, el circuito integrado de conversin TTL - RS 232, el circuito de generacin del lazo de corriente, el conversor analgico digital, y el microcontrolador. En cuanto al programa del microcontrolador o firmware se describe las rutinas implementadas y la forma en la que las mismas se relacionan y finalmente se trata el software o programa de interfaz para el usuario del maestro, que en este caso es el computador personal. Sin embargo, antes de entrar en los detalles del diseo, se menciona los implementos necesarios para llevar acabo el proyecto en el cual se disea el sistema de la figura 3.1.

Figura 3.1 Diagrama del sistema a realizar 3.1.- Cmo implementar el protocolo HART en los medidores de flujo?

Para poder implementar un protocolo en cualquier dispositivo remoto o esclavo, se necesita un microprocesador, en especial si el protocolo de comunicacin es el protocolo Hart, ya que como se vio en el captulo 2 , el protocolo requiere dispositivos inteligentes, refirindose con este adjetivo al hecho de contener un microcontrolador. El microcontrolador que la compaa Flotech S.A. utiliza en sus instrumentos medidores de flujo es el Basic TIGER, de Wilke Technology. Este microcontrolador posee una gran capacidad de memoria y un puerto serial que se utiliza al momento de conectar el mdem Hart. Para que el microcontrolador sea capaz de responder a los mensajes Hart, se debe

28

realizar un programa que reciba y decodifique el mensaje, para luego ensamblar una respuesta al mismo tomando los valores necesarios desde el sensor (firmware). El mdem Hart es la parte fsica del protocolo en s, es el que se encarga de transformar la seal digital del microprocesador en una seal analgica con codificacin por desplazamiento en frecuencia, que viaja por un par de cables hasta el mdem del maestro. Este mdem se describir con ms detalle en el captulo de hardware y materiales. El microprocesador, el TIGER, se programa en Basic, un lenguaje de alto nivel bastante sencillo. El microprocesador en si, incluye un software que maneja perifricos, como pantallas LCD y tambin puertos seriales. Luego, con simples comandos se puede enviar la informacin a la pantalla de visualizacin y al mdem. Lo complicado de la programacin del TIGER es saber Cundo es correcta la informacin que recibe?, Cmo decodificar o desensamblar el mensaje una vez recibido? y Qu se debe responder a dicho mensaje?. Para la realizacin del proyecto no se dispona de un maestro, de un dispositivo que

estructurase los mensajes y los enviase al microcontrolador; de modo que tambin hubo que disear un software que se pudiese utilizar en un PC y que cumpliese el papel de maestro. Luego, para el programa en el PC, se utiliz el reciente lenguaje de programacin de alto nivel, JAVA. Y para asegurar que el protocolo estuviese implementado de acuerdo al estndar de la Fundacin Hart, se realizarn pruebas con PDVSA que posee un maestro aprobado por la fundacin. Detalles sobre los programas tanto del microprocesador TIGER, como del PC, los encontrar en el captulo de programas del microcontrolador (firmware) y programas en lenguaje Java para el PC (software), en donde se da respuesta a las preguntas anteriores. Cabe destacar que no se presentan las rutinas como tal (ya que explicar cada comando o instruccin dentro de la rutina no es objetivo de este libro), se muestra mediante un diagrama de flujo la conexin entre las diferentes rutinas o programas que ejecutan funciones diferentes, desde capturar datos hasta ensamblar el mensaje de respuesta hacia el dispositivo maestro. Seccin 3.2.- Hardware y materiales A continuacin se proceder a describir en detalle la parte fsica del instrumento o dispositivo de campo, esta se basa en la tarjeta digital del circuito que se diseo, dicha tarjeta posee la siguiente estructura (figura 3.2):29

Figura 3.2 Diagrama de la tarjeta digital 3.2.1.-Microcontrolador Los sensores de flujo de la compaa Flotech S.A., a los que se les desea instalar el protocolo Hart, funcionan con el microcontrolador Basic TIGER, de Wilke Technologies (figura 3.3 ). Este microprocesador tiene las siguientes especificaciones:

Figura 3.3 Microcontrolador TIGER Es un procesador multitareas, con la capacidad de ejecutar hasta 32 tareas por separado. La velocidad en instrucciones por segundo que ejecuta es de hasta 100.000, las operaciones con dispositivos I/O son ms lentas, dependiendo de su complejidad.

30

Capacidad de memoria: aproximada de 2000 a 5000 instrucciones de Basic con la memoria FLASH de 128Kb y de 10000 a 30000 instrucciones, con la memoria FLASH de 512Kb, el mximo en memoria Flash en venta es de 4Mb. La arquitectura de los pines de I/O del Basic TIGER se disea para otorgar flexibilidad y expansin sencilla. El modulo tiene 38 pines I/O que pueden ser utilizados en una gran variedad de formas. Se pueden asignar otras funciones a los pines de I/O con la programacin apropiada en Basic. Dos puertos seriales, puerto serial 1 que tiene las respectivas entradas RxD y TxD, y el puerto serial cero, que adems de TxD y RxD tiene unos pines de RTS y CTS, con la posible eleccin entre TTL o drivers de V24 (pines 24-29) que se pueden configurar mediante el software. Los parmetros de comunicacin son de 300, 600, 2400, 4800, 9600, 19200, 38400, 76800, 153600 Baudios; con 7 u 8 bits de datos; paridad O/E o N y un bus RS-485. Posee convertidores anlogo a digital de 8, 10 o 12 bits que poseen una tasa de muestreo de hasta 50000 muestras por segundo. Posee un controlador interno de pantalla LCD 15, con sets de caracteres definibles, con 8 caracteres cada uno. Control del cursor, secuencias de ESC, seleccin de men, smbolos en movimiento etc. Fuente de alimentacin o de poder de 4.7voltios a 5.5 voltios y corriente de 45mA a 80mA (en modo inactivo de 50 a 100 micro amperios) Capacidad de memoria de 128Kb a 2 Mb en memoria SRAM y 128Kb a 4Mb de memoria FLASH. RESET, tiene una entrada o pin para reiniciar el modulo. Reloj de tiempo real con calendario y alarmas, se requiere de una batera externa para instalar esta aplicacin.

31

Salidas digital anlogas de PWM, 2 canales, con resolucin de 6 a 8 bits y frecuencias desde 0.6kHz a 39kHz. En la siguiente tabla se encuentra la especificacin de cada pin:Pin No. 1 2 3 4 5 7 8 9 1 10 11 12 13 14 15 16 17 18 20 21 22 23 Nombre VCC L60 L61 L62 L63 L64 L65 L66 L67 L70 L71 L72/PWM L73/PWM L80 L81 L82 L83 L84 L86 L87 Reset in GND Descripcin Voltaje de alimentacin Puerto 6 - Pin 0 Puerto 6 - Pin 1 Puerto 6 - Pin 2 Puerto 6 - Pin 3 Puerto 6 - Pin 4 Puerto 6 - Pin 5 Puerto 6 - Pin 6 Puerto 6 - Pin 7 Puerto 7 - Pin 0 Puerto 7 - Pin 1 Puerto 7 - Pin 2 o PWM salida Puerto 7 - Pin 3 o PWM salida Puerto 8 - Pin 0 Puerto 8 - Pin 1 Puerto 8 - Pin 2 Puerto 8 - Pin 3 Puerto 8 - Pin 4 Puerto 8 - Pin 6 Puerto 8 Pin 7 Entrada de reset Tierra

Tabla 3.1 Especificaciones de pines del microcontrolador

32

Pin No. 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46

Name L90/TxD0 L91/RxD0 L92/CTS0 L93/TxD1 L94/RxD1 L95/RTS0 L33 L34 L35 L36 L37

Description Puerto 9 - Pin 0 o lnea RxD del puerto serial 0 Puerto 9 - Pin 1 o lnea TxD del puerto serial 0 Puerto 9 - Pin 2 or CTS0 Puerto 9 - Pin 3 o lnea RxD puerto serial 1 Puerto 9 - Pin 4 o lnea TxD puerto serial 1 Puerto 9 - Pin 5 o RTS0 Puerto 3 - Pin 3 Puerto 3 - Pin 4 Puerto 3 - Pin 5 Puerto 3 - Pin 6 Puerto 3 - Pin 7

L42/I2C-clock Puerto 4 - Pin 2 o I2C-BUS puerto 3 lnea de reloj L40/I2C-Data Puerto 4 Pin 0 or I2C-BUS data Line L41/PC Alarm out Analog in 0 Analog in 1 Analog in 2 Analog in 3 A/D-Ref-in Analog GND Battery in VCC (5V) Pin de modo PC Salida de la alarma (con reloj, en otro caso NC) Entrada analgica 0 (0 -> VCC) Entrada analgica 1 (0 -> VCC) Entrada analgica 2 (0 -> VCC) Entrada analgica 3 (0 -> VCC) A/D referencia de voltaje : 3,5 -> 5,0 volts Tierra analgica Conexin para batera externa Fuente de alimentacin o poder

Tabla 3.1 (Cont.) Especificaciones de pines del microcontrolador 3.2.2.- Desarrollo de la tarjeta digital Al principio del proyecto se utiliz la tarjeta que inclua el Basic TIGER, cuando la computadora y el microcontrolador se conectaban directamente por el puerto serial para comenzar a programar las rutinas de comunicacin, recepcin y anlisis. Una vez que se dispona de las dems partes del dispositivo, se instal el microcontrolador en una tarjeta diferente, en la que pude elegir que era necesario de lo que contena el kit y aadir las cosas que el mismo no inclua y eran necesarias. La tarjeta desarrollada durante el proyecto, contena lo siguiente:

33

Un conversor analgico digital, para convertir la entrada del sensor de nivel o flujo a un valor digital de 12 bits. Este se conecta al microcontrolador mediante los pines 20 (Puerto 8 pin 6) y 21 (Puerto 8 pin7), que son puertos controlables mediante software. El conversor ADC utilizado fue el LTC1298, cuyo circuito interno se muestra en la figura 3.4:

Figura 3.4 Bloque interno del LTC1298Extrado de las hojas de datos de Analog Devices AD694

Para mayor informacin sobre ste integrado y el modo de conexin del mismo, refirase al anexo 6 , este contiene algunas de las hojas de datos de este integrado. Un circuito que genera el lazo de corriente en mA, ya que el dispositivo que estamos creando es de tipo activo lo cual implica que este debe generar su propio lazo. Luego este circuito se basa en el integrado AD694 de Analog Devices. Este integrado se coloca en la tarjeta digital mediante el

siguiente montaje (figura 3.5):

34

Figura 3.5 Conexin del generador del lazo de corriente AD694Extrado de las hojas de datos de Analog Devices AD694

Para mayor informacin sobre ste integrado y el modo de conexin del mismo, refirase al anexo 5 , este contiene algunas de las hojas de datos de este integrado. Esto, junto con conectores DB-9 para ambos puertos seriales, conectadores para alimentacin (ya que la fuente no est incluida en esta tarjeta) y un interruptor que se utiliza en el microcontrolador para elegir entre modo de programacin y modo de corrida; adems unos leds para indicar en que modo se encuentra y si el circuito est encendido o no. Esto es lo que contiene la tarjeta digital, no se incluye el diseo del mdem Hart ya que para este se disea un circuito impreso individual que se conecta a la tarjeta digital Para ilustrar lo anterior observe el siguiente diagrama de bloques en la figura 3.6, en el que se muestra los mdulos de la tarjeta digital:

35

Figura 3.6 Elementos de la tarjeta impresa del circuito digital 3.2.3.-El Mdem HART Al iniciar el proyecto de pasanta, la empresa dispona de 3 integrados SYM20C15, mdems para transmitir en protocolo Hart. Estos integrados eran de montaje superficial, luego para poder conectarlos en el protoboard, donde inicialmente se ensambl el circuito hasta hacerlo funcionar, eran necesarias unas bases especiales. Se hizo un listado de los componentes para ensamblar el circuito y realizar las pruebas pertinentes, sin embargo, uno de los integrados necesarios para hacer funcionar el circuito era el AD421, que en el momento de pedirlo a la empresa NEWARK, no notific la disponibilidad del mismo, el integrado estaba agotado y no se fabricaba otro lote hasta marzo del 2001; luego fue necesario cambiar el mdem a utilizar. De todos modos sera necesario el cambio, ya que la empresa que en un principio vendi estos mdems a Flotech S.A., Symbios Logic, haba sido comprada y no venderan mas de los circuitos integrados fabricados por la misma. Ya que no tena sentido disear un producto que no se podra fabricar porque los componentes al momento del diseo ya estaban obsoletos, se realiz una rpida investigacin (utilizando Internet), sobre la disponibilidad de algn otro mdem, y se encontr la empresa SMAR RESEARCH CORP. Esta es una empresa que vende equipos industriales con protocolo de comunicacin Hart y adems algunos integrados, entre ellos el mdem que se requera. Tambin disponan de circuito con el mdem incluido que bastaba con conectarlo al puerto serial y luego al lazo de corriente, sin embargo, este costaba $300 y el mdem como integrado solo $5,36

adems, para poderlo conectar al micro esta interfaz Hart, que es el nombre de su producto (para mayor detalle refirase al anexo 4), requerira de todas las conexiones que tiene la computadora hacia el puerto serial, y que como ya se mencion en la parte del microcontrolador, este no dispone de todos los pines de conexin serial estndar. Finalmente, adquirimos el circuito integrado HART2012

(anexo 3) . Este Integrado requera un filtro de entrada y filtro de salida, adems de un circuito integrado MAX232 o MAX202, para compatibilidad con el puerto serial del microcontrolador. Cabe destacar que los microcontroladores tienen la posibilidad de ser adquiridos sin el conversor RS232 interno, y de ese modo no hara falta este integrado en el diseo del impreso del mdem HART, sin embargo, la empresa adquiri stos, para poder realizar la programacin de los mismos de modo directo, de modo que la redundancia (TTL a RS 232 y RS 232 a TTL de nuevo) es necesaria y no se modificar en ningn momento. Una vez que se dispone de los circuitos integrados y componentes necesarios, se ensamblo el circuito en el protoboard , para realizar pruebas hasta que funcionase correctamente. Se mont segn el siguiente esquema (figura 3.7):

Figura 3.7 Circuito completo del Mdem Hart Aqu, como podemos observar, el circuito dispone de un filtro de entrada, un filtro de salida, el mdem HART 20 12, y un conversor TTL RS 232.

37

El filtro de entrada, consiste en un amplificador operacional, que en este caso es el LM2904, que enva su salida a un comparador, el TLC71, luego la salida del comparador es una seal 0 5 voltios que entra al mdem HART. En la siguiente figura 3.8 se puede observar en detalle el circuito del filtro de entrada.

Figura 3.8 Filtro de Entrada del Mdem El filtro de salida, se basa en un filtro pasa banda RC, con frecuencias de corte 1000Hz y 2500Hz, adems un condensador en serie para eliminar el DC de la seal. Observe la figura 3.9, en esta se incluyen los tres estados que controlan el medio:

Figura 3.9 Filtro de Salida del Mdem Para poder controlar lo que recibe el mdem y lo que enva, ya que la comunicacin es halfduplex (la seal transmitida y la recibida comparten el canal o medio de transmisin, por lo que no se puede hacer ambas cosas al mismo tiempo), se requiere de unas compuertas de tres estados 74HC126, que se controlan con la seal de RTS.38

Para la seal de reloj del mdem, se requera de un cristal de 460.8kHz, se utiliz la siguiente configuracin de circuito oscilador (figura 3.10):

Figura 3.10 Reloj del mdem 3.2.4.-Descripcin del modulador HT2012 El mdem posee las siguientes caractersticas: Funciona bajo el estndar Bell 202 con una tasa de baudios de 1200 bits por segundo. Utiliza las frecuencias de 1200 Hz y 2200 Hz del estndar Bell 202. Bajo consumo de potencia (consumo tpico 40 A). Deteccin de portadora (Carrier Detect) mejorado. Modulacin por desplazamiento en frecuencia en un solo integrado. Recepcin y transmisin de datos a 1200 baudios Fuente de alimentacin requerida de 3 a 5 voltios. Compatible con CMOS y TTL. Se optimiza para aplicaciones intrnsecamente seguras. Utiliza tecnologa CMOS de confianza. Soporta el rango de temperaturas industrial (-40C to 85C) A continuacin, en la figura 3.11, podr observar los pines del integrado HT2012:

39

Figura 3.11 Mdem Hart HT2012 El mdem funciona del siguiente modo: La seal RTS (ready to send) se encuentra siempre activa de modo que ninguno de los dos, ni el maestro ni el esclavo, ocupe la lnea. Las salidas TTL del MAX 232 van directamente a los pines respectivos del mdem, IRxD (input receive signal) y OtxD (output receive signal). Al bajar la seal de RTS, el mdem comienza a modular con desplazamiento en frecuencia, dependiendo del valor del pin IRxD, la frecuencia ser de 2200Hz o 1200Hz, como lo establece el estndar Bell 202. Las pruebas que se realizaban eran en un principio con los terminales de dos computadoras, si el puerto serial se conectaba a los respectivos mdems (se requiri de la fabricacin de dos de ellos como mnimo) y se comunicaban entre ellos a una tasa de bits de 1200bps, como se encuentra en los parmetros del protocolo Hart y del mdem en s. En cuanto al montaje, para llegar al actual diseo de la tarjeta del mdem, se fabricaron dos prototipos. Los primeros eran circuitos con pistas de cobre de un solo lado, lo cual haca necesaria la conexin mediante cables, estos primeros prototipos los puede observar en la figura 3.12 y en el anexo 8 encontrar el diseo del circuito impreso.

40

Figura 3.12 Primeros circuitos impresos para el mdem Luego se realiz un segundo diseo con correcciones de errores del primero y de doble cara, es decir, con pistas de cobre por ambos lados de la tarjeta; este es el diseo final del impreso del mdem. Este se conecta a la tarjeta en la cual se encuentra el microcontrolador mediante un conectador de 10 pines, como se observa en la siguiente figura 3.13:

Figura 3.13 Conexin del mdem Hart a la tarjeta digital41

Esto concluye la descripcin de la parte fsica del sistema, la tarjeta digital que se incluir en el dispositivo, sin embargo este no es un diseo que pueda ser fabricado en cantidad, ya que el circuito se ensambl en una lmina perforada sin conectadores de cobre de ningn tipo, se debe disear un circuito impreso para colocar todos los mdulos de un modo ms eficiente, que reduzca el espacio. Ahora procedemos a describir el firmware del equipo, el programa del microcontrolador que se encarga del procesamiento de los mensajes en el dispositivo remoto o sensor. 3.3.- Programas del microcontrolador ( firmware) El programa del microcontrolador se define mediante la siguiente estructura (figura 3.14):

Figura 3.14 Estructura del firmware A continuacin se describe brevemente cada una de las partes del programa o rutinas y las funciones que llevan a cabo, se mencionan los nombres utilizados para cada una durante la programacin, de modo que en caso de observar el anexo 10 el lector pueda comprender con mayor facilidad el fragmento del programa.

42

3.3.1.-Recepcin y anlisis Para iniciar el desarrollo del firmware era necesario crear una rutina que recibiese el mensaje. Para ello se trabaj conectando los puertos seriales del PC y del TIGER directamente. La rutina toma los caracteres o bytes y los imprime en el LCD. Una vez que se verific que la rutina recibiera correctamente los bytes, se proceda a un nivel superior de complejidad, ya que era necesaria una rutina que analizar lo que reciba como si fuese un mensaje Hart, para este momento fue necesario realizar un pequeo programa en JAVA que transmitiese un mensaje fijo pero con la estructura HART, es decir, 20 bytes de prembulo, direccin, comando y otros. Luego, el TIGER recibe el mensaje y asignando a un arreglo de bytes lo que se recibe del puerto, divide el mensaje en sus respectivas partes, e imprime en el LCD el comando (nmero del comando). Sin embargo, esto no requera mayor esfuerzo, ya que el mensaje era fijo y se conoca exactamente que longitud, en bytes, tiene cada parte del mensaje. En el protocolo Hart, como se vio en el captulo 2, el mensaje puede variar su longitud, y adems puede tener dos formatos diferentes. De modo que, para poder recibir el mensaje, deba ser analizado a medida que llegaba al puerto serial, por lo que hubo que integrar la rutina de recepcin con la de anlisis. La rutina de recepcin y anlisis revisa el puerto constantemente en busca de informacin o bytes de datos, al momento de recibir alguno de ellos, lo compara con FF hex (que son los primeros 20 bytes de un mensaje HART) para poder sincronizar, detectar la existencia de un mensaje en la lnea y adems eliminar ruido de modo digital. Si la cantidad de bytes con valor FF era igual a la cantidad de bytes de prembulo asignados al dispositivo, el mensaje contina siendo almacenado en el arreglo de bytes, siendo el siguiente byte, el byte de inicio o como se denomina el arreglo en el programa, byte de START. El byte de inicio indica el formato del mensaje, si es de formato corto o de formato largo, esto se implement en el programa mediante un IF, y el valor por descarte es un mensaje de respuesta que indica que el mensaje es errado. De modo que si el byte de inicio es 2 o 186 (02 hex y 82 hex respectivamente) se descifra el largo del campo de direccin o address, que en un caso es de 5 bytes y en otro de un solo byte. Luego, si el formato es largo, se reciben los cinco bytes siguientes y son almacenados en un arreglo denominado ADRESSA, si es un byte se almacena en ADDRESSB. La direccin debe ser tambin analizada en el momento en que se recibe, ya que si no es la direccin del dispositivo ste no debe emitir respuesta alguna. Esto corresponde al primer rombo de la43

figura de la estructura del programa que se presenta al principio de esta seccin. Una vez que se sabe que el mensaje es para el dispositivo, se contina la recepcin de bytes. El siguiente es el byte de comando (COMMAND), de modo que de acuerdo a lo establecido por la fundacin Hart, ya se conoce lo que se encuentra en el mensaje, ms sin embargo an no se conoce su longitud. Un breve ejemplo podr aclarar lo antes mencionado. El comando nmero 17 es un mensaje de mximo 32 caracteres, pero pueden ser menos, de modo que se debe saber cuantos bytes de informacin han sido enviados. Para ello, se incluye el byte de cuenta de bytes (BYTECOUNTBYTE), el cual es un entero del 0 al 25 que facilita ese dato y viene inmediatamente despus del byte de comando. Luego, se recibe la cantidad de bytes que este BYTECOUNTBYTE indica y se almacenan en un arreglo denominado DATAS. Finalmente, en el byte de verificacin de suma, que en el programa es CHECKSUM, se guarda el XOR de todos los bytes desde el de inicio hasta el ltimo dato, para verificar que no hubo errores de transmisin y que el mensaje est intacto. 3.3.2.-Respuesta al comando

Una vez que se dispone de cada una de las partes del mensaje en arreglos, se procede a realizar lo que el maestro indica mediante el nmero del comando. Segn el nmero de comando recibido se debe realizar o invocar rutinas diversas. La que la mayora de las veces se ejecuta (la mayora de los comandos incluyen este dato) es la medicin de la variable primaria, para lo cual se realiz una rutina aparte. Para separar estas rutinas, se utiliza un SWITCH con los posibles casos o comandos disponibles en el dispositivo(para este proyecto, solo fueron incluidos los comandos universales). En la mayora de los comandos, los datos enviados son fijos, son parmetros del dispositivo o de las pocas variables que el mismo mide (variable transmitida en mA). De modo que estas se almacenan en la memoria del TIGER para ser invocadas y/o modificadas en cuanto sea necesario. En el anexo 2 se incluye una tabla con todos los parmetros necesarios para satisfacer los requerimientos de informacin de los comandos universales. No se detallar cada uno de los 13 comandos disponibles (los comandos universales), pero ms adelante se incluir un ejemplo de aquellos que sirvan para describir las dems rutinas del programa.

44

3.3.3.-Transformacin de valores El mensaje recibido se almacena como bytes, de modo que los nmeros decimales negativos y/o mayores a un byte deben ser incluidos en una rutina de conversin. Esta rutina se denomina en la estructura del programa ByteToFloat, ya que en el mensaje los nmeros son enteros (un byte mximo) o de tipo flotante. Siendo de tipo flotante (segn el protocolo Hart), cuatro bytes, que representan el nmero en dos partes, la mantisa M y el exponente E, siendo el nmero decimal igual a M x 2E . La mantisa ocupa los dos primeros bytes ms 7 bits del tercero, el exponente ocupa el cuarto byte sin el bit superior ms el bit restante del tercer byte y el ltimo bit indica el signo de la cantidad decimal. En el momento de transmitir la respuesta se invoca una rutina que hace lo opuesto, pasar del nmero flotante recibido del sensor a bytes individuales que se denomina FloatToByte. 3.3.4.-Codificacin o compresin de caracteres Es necesaria una rutina de codificacin y decodificacin de caracteres, en realidad dos rutinas diferentes. En el captulo 2 , se describi el modo en el que los bytes de tipo caracter son comprimidos, o mejor dicho, los parmetros de tipo caracter, como el tag (nmero identificador del dispositivo o etiqueta), el DESCRIPTOR y los mensajes de texto de 32 caracteres. Esta codificacin es del modo siguiente. Los caracteres son tipo ASCII, pero cada cuatro bytes (8 bits) se comprimen en tres, se eliminan los dos bits superiores del byte, es decir, el byte ya no es ASCII sino de 6 bits. Luego, solo se utiliza una parte del cdigo ASCII que son los caracteres desde el 20 hex hasta el 5F , estos incluyen signos de uso frecuente y letras maysculas. Para codificar, simplemente se eliminan los dos bits superiores de cada byte y con una serie o secuencia de SHIFTs, ANDs y Ors, se comprimen a los 3 bytes. Para decodificar es un poco ms complejo, de acuerdo a los dos bits ms significativos (de los 6 bits) se aaden los bits que faltan. Si estos dos bits son 00 entonces se cambia la parte superior del byte a 0100, pero si son 01, se cambian a 0101, de modo que los bytes superiores sern 2, 3, 4 5 ( del 20 al 5F hex). 3.3.5.-Conversin analgico a digital Esta es una pequea rutina que lee el puerto nmero 8 del TIGER, al cual se ha conectado previamente la salida de un ADC, circuito integrado que transforma un valor analgico introducido, en un valor digital a su salida, en forma serial. Al invocar la rutina ADC12bit se obtiene el valor medido por el sensor, que es el que se asigna a la variable primaria.45

Conociendo la existencia de estas rutinas de transformacin de enteros a flotante, de compresin de caracteres y obtencin de valores, podemos dar ejemplos de comandos y su implementacin en el programa. Cuando el maestro enva el comando nmero 18, en el campo de datos se encuentran el tag el descriptor (con compresin de caracteres) y la fecha (sin comprimir). Luego, se decodifica y se asignan los valores enviados a los parmetros del dispositivo, la respuesta debe ser igual o incluir los mismo datos que envi el maestro o los nuevos valores de los parmetros tag, descriptor y fecha. De los comandos universales, los nicos que incluyen datos del maestro al dispositivo de campo, son los tres ltimos, el 17, 18 y 19. El 17 es el que transmite un mensaje al dispositivo (un mensaje de 32 caracteres que debe presentarse en la pantalla LCD), el 18 es el antes mencionado y el 19 modifica el nmero de ensamble final (NFE), uno de los parmetros del dispositivo. Al recibir los dems comando se debe emitir una respuesta con los datos que segn el comando le correspondan, por ejemplo, el comando nmero uno es el que transmite la variable primaria (la medicin del sensor) junto con las unidades de la medicin. Las unidades se indican de acuerdo a una tabla con nmeros enteros. Luego el primer byte del campo de datos se utiliza para incluir la unidad, y los siguientes cuatro bytes, es decir, del 1 al 4, para almacenar los bytes que resulten de transformar el valor flotante de la variable primaria a bytes. El comando 3 es bastante similar, solo que este incluye las cuatro variables posibles del protocolo, cada una con su unidad de medicin, excepto los primeros cuatro byte, que indican la corriente del lazo en mA. El comando 13 enva al maestro el tag, descriptor y la fecha, luego se debe invocar a la rutina de codificacin de caracteres. Para el tag que es de 8 caracteres, se asignan 6 bytes del mensaje; para el descriptor, de 16 caracteres, se asignan 12 bytes; pero la fecha no necesita compresin, ya que tres bytes son suficientes, da, ao y mes respectivamente. Este comando permite observar los valores sin poder modificarlos ( cosa que se realiza con el comando 18 se mencion anteriormente). Un comando interesante es el comando 12, este es aquel en el que el maestro recibe un mensaje (de 32 caracteres) del dispositivo remoto, pero dado que el dispositivo remoto en el momento del diseo del proyecto no inclua un teclado para poder ingresar mensajes, se implement un mensaje fijo que se transmite siempre que se le enve ese comando. En un futuro se pretende aadir pequeos teclados a los dispositivos, para poder modificar su programacin en el campo y enviar mensajes de texto.46

Algunos fragmentos del cdigo se encuentran en el anexo 9 de este libro. Finalmente, el software o programa del maestro (computador personal). 3.4.-Programa para el maestro o interfaz para el usuario El programa realizado para el maestro de prueba, posee una estructura similar a la del programa del Basic TIGER, sin embargo, la diferencia entre los lenguajes de programacin Basic y Java, hacen que las rutinas sean algo ms complicadas. Para llevar acabo la programacin en este lenguaje se acudi a la interfaz de aplicacin de programacin de Java (API, clases y objetos ya existentes); y se procedi a realizar lo mismo que en el programa del TIGER, pero incluyendo una interfaz grfica que permite interactuar con el usuario. Java es un lenguaje de programacin orientado a objetos (si desea saber ms sobre esto se le sugiere revise la bibliografa), luego, en vez de programas o rutinas, se les denomina clases, las mismas se invocan las unas a las otras para lograr el mismo resultado que el programa del TIGER. En nuestro caso, el maestro dispone de una clase principal que crea la interfaz grfica y activa los botones que el usuario utilizar para controlar la aplicacin. Al presionar o seleccionar alguno de los tem de la ventana de interfaz, se llama a otra clase que determina cual de las acciones se debe realizar.

47

La interfaz es la siguiente (figura 3.15):

Figura 3.15 Interfaz grfica del programa maestro Como puede observar, la interfaz no es para ser utilizada por cualquier usuario, se planea hacer modificaciones a la misma una vez que todo el dispositivo este completo, para ofrecer el servicio de instalacin completo de dispositivos de campo y maestro, pero cabe notar que para la empresa es prioridad el dispositivo (hardware y firmware) y no el software. La interfaz contiene campos que pueden ser editados y otros que no, ya que son los que se calculan al momento de ensamblar el mensaje. El primer campo es la cantidad fija de bytes de prembulo que poseen los mensajes hacia el dispositivo. El segundo indica el valor hexadecimal del byte de inicio, de acuerdo a lo que el usuario seleccione con los checkbox el valor que aparece en dicho campo se modifica.

48

El tercer campo es el de la direccin. Dicha direccin se escribe en valores decimales byte por byte, de no introducir correctamente la direccin el programa genera errores (no se ha incluido en el programa dilogos de error, de modo que de cometer algn error este ser visible en el command prompt o el terminal desde el cual se corri el programa java Hart). El cuarto no es un campo sino una lista de seleccin con los comandos disponibles del dispositivo, aunque, siendo este un maestro para utilizar con cualquier dispositivo Hart, debera permitir escritura, de no poseer el dispositivo dicho comando, deber enviar un mensaje en el cual los bytes de estado o estatus indican que el mismo no dispone del comando. La cuenta de bytes se genera automticamente al presionar el botn Componer. El campo de datos presenta lo que se aade al mensaje, de no poseer ningn dato se indica o simplemente aparece el comando que se ha seleccionado. Recuerde que, como se mencion en la parte del programa del TIGER, solo los comandos 17, 18 y 19, son los que envan datos del maestro al dispositivo. Finalmente, un campo de texto en el que se escribe lo que el programa esta realizando o recibe del dispositivo de campo. Los botones: RESET, inicializa todos los campos de la interfaz. EXIT, cierra el programa. SEND, enva el mensaje. COMPONER, ensambla el mensaje. De modo que para poder enviar un mensaje al dispositivo ocurren los siguientes eventos: Se selecciona el formato del mensaje, se escribe la direccin y se le da al botn de componer (en caso de que el comando a enviar sea diferente del 17, en cuyo caso tambin se introduce el mensaje de 32 caracteres en el campo de datos), al seleccionar cualquiera de los botones de la interfaz se invoca la clase ManejaEventos, que decide cual de las dems clases debe ser llamada, y asigna valores a los campos de texto de la interfaz.49

Al presionar el botn de componer la ventana se actualiza. Para este momento, ya se ha asignado valores a cada byte que compone el mensaje, al invocar una clase denominada ComposicionMensaje, la cual adems contiene mtodos (subrutinas) que codifican los bytes de tag, descriptor y del mensaje de 32 caracteres. Luego se presiona el botn de SEND o enviar, al hacerlo, se invoca la misma rutina composicin de mensaje y la clase SerialConection, que transmite el mensaje al mdem Hart de modo serial. Mientras el mensaje es enviado al dispositivo y se espera una respuesta se le informa al usuario mediante el campo de mensaje del TIGRE, en el cual se imprimen las palabras enviando el mensaje, para que el usuario sepa que ha funcionado la comunicacin del maestro hacia el dispositivo (es decir, entr a la rutina que enva los datos por el puerto serial al mdem). Finalmente al obtener una respuesta del TIGER se invoca la clase MessageAnalisis que se encarga de dividir el mensaje en las partes respectivas y segn el comando que se envi se muestra en el campo de Mensaje del TIGER los valores de los bytes o campos individuales del mensaje ms importantes y luego lo que el comando en si debe enviar. Por ejemplo el comando 3 incluye la corriente del lazo, las unidades y variables (de la primaria a la cuarta) y se muestran de la siguiente forma: Corriente en mA: valor recibido Unidades variable primaria: valor recibido Variable primaria: valor recibido Unidades de la segunda: valor recibido Segunda variable: valor recibido Unidades tercera variable: valor recibido Tercera variable: valor recibido Unidades cuarta variable: valor recibido Cuarta variable: valor recibido Para cada comando se muestra la estructura de lo recibido de un modo similar, descripcin y despus de los dos puntos el valor recibido o asignado.

50

El programa del maestro no es un programa secuencial, a diferencia del programa del TIGRE, este llama a las diferentes clases o rutinas a medida que se necesita de ellas, por ejemplo, por cada byte que se recibe se invoca la clase SerialConection y la clase MesageAnalisis. De este modo se culmina la descripcin del sistema diseado y se procede al captulo de pruebas y resultados.

51

CAPITULO 4.- PRUEBAS Y RESULTADOS4.1.-El circuito impreso digital y programa del microcontrolador: El resultado final de este proyecto es un prototipo, como se mencion anteriormente, la tarjeta digital se muestra en la siguiente figura 4.1:

Figura 4.1 Tarjeta digital con todos sus elementos Como se puede observar, la tarjeta digital incluye todo lo que se mencion en su descripcin. Se puede observar el mdem (la tarjeta que se encuentra conectada por encima de ambos conectadores DB-9), el circuito conversor analgico digital, que se observa en el lado izquierdo del microcontrolador y el circuito generador del lazo que se encuentra debajo de la tarjeta del mdem. Este circuito contiene el hardware y firmware del diseo.

52

4.2.- Interfaz para el usuario La interfaz grfica para el usuario en el PC, o en otras palabras el maestro funciona del siguiente modo:

Figura 4.2 Interfaz grfica del maestro Al iniciar el programa aparece la ventana principal en blanco, como se muestra en la figura anterior; los campos se encuentran vacos y esperando que el usuario proceda a llenar y seleccionar los valores deseados. Una vez introducidos los valores deseados se presiona el botn de componer y la ventana muestra los valores calculados para el resto del mensaje, como se muestra a continuacin (figura 4.3):

53

Figura 4.3 Interfaz una vez presionado COMPONER Como se puede observar para este momento, los campos contiene los valores introducidos por el usuario y los establecidos por el sistema, en este caso el nmero de bytes de prembulo es 20, el formato de mensaje elegido es el formato largo, el cual contiene un campo de direccin de cinco bytes, el valor de sta direccin se encuentra en el siguiente campo de texto. El comando que haba sido elegido, la cuenta de bytes que en este caso es cero (recuerde que el comando 3 no contiene datos del maestro hacia el dispositivo) y el campo de datos que muestra el comando elegido (se mencion anteriormente que en caso de que el comando no contuviese ningn dato se mostrara en este campo el comando elegido. Una vez listo el mensaje se presiona el botn de SEND y la pantalla aparece esta vez del siguiente modo (figura 4.4):

54

Figura 4.4 Interfaz despus de presionar SEND En la figura se nota que el botn SEND queda inhabilitado una vez que se presiona, esto es para impedir que el usuario presione el mismo varias veces y cree un conflicto de