4.1. Convertidor RS-232 a RS-485bibing.us.es/proyectos/abreproy/4003/fichero/VOLUMEN+1...TEMA 4:...

31
TEMA 4: COMUNICACIONES 4. COMUNICACIONES A lo largo de este capítulo se va explicar con detalle la forma en que se comunican el sistema de la pila y reformador con el sistema de gestión y control llevado a cabo desde el PC. Dichas comunicaciones se van a caracterizar por el dispositivo a través del cual se realizan, el tipo de interfase de comunicación que utilizan, el protocolo que necesitan para la correcta comunicación, el tipo de datos que van a poner en juego y por el tipo de puerto que utilizan en el PC, que resulta ser el mismo (puerto serie) para todos los casos salvo para las tarjetas de adquisición que lo hacen vía SNET. En primer lugar se hará una breve descripción de un dispositivo necesario para estas comunicaciones, y a continuación analizarán por separado las comunicaciones utilizadas para el reformador y para la pila. 4.1. Convertidor RS-232 a RS-485 Habitualmente, el sistema utilizado por la mayoría de los PCs es la interfase de comunicación RS-232. Sin embargo éste presenta muchas limitaciones en cuanto a velocidad de transmisión, distancia y número de dispositivos conectables. Una alternativa a éste la ofrece la interfase RS-485, que soporta una mayor distancia de cableado y un número mucho mayor de dispositivos conectables (ver comparativa). En particular, la RS-232 soporta como máximo 2 dispositivos conectados hasta una distancia de 15 metros, mientras que la RS-485 soporta hasta 256 dispositivos (2048 si hay repetidor) con una distancia de 1200 metros. Una de las características más importantes de la interfase RS-485 es que trabaja en modo “half-duplex”, es decir, que en el bus solamente se puede leer o escribir, nunca ambos a la vez. Esto es debido a que la RS-485 utiliza tres cables, donde dos de ellos se utilizan para transmitir/recibir y el otro es la línea común. Por estos motivos y debido a que algún dispositivo sólo admite la norma RS-485, se ha instalado un convertidor de RS-232 a RS-485, en concreto el convertidor I-7520 de la marca ICP-CON (ver Figura 16). Un dato a tener en cuenta es que al conectar una red de dispositivos mediante el convertidor I-7520 al PC, todos ellos deben transmitir a la misma velocidad y con el mismo formato de datos (bit de paridad si/no, bits de inicio/parada). Si algún dispositivo retransmitiese a una velocidad mayor, se vería limitado por la velocidad del más lento, ya que el I-7520 detecta la velocidad más baja y la establece como única. En la Figura 17 se puede ver el diagrama de bloques mediante el cual funciona el módulo I-7520. 22

Transcript of 4.1. Convertidor RS-232 a RS-485bibing.us.es/proyectos/abreproy/4003/fichero/VOLUMEN+1...TEMA 4:...

Page 1: 4.1. Convertidor RS-232 a RS-485bibing.us.es/proyectos/abreproy/4003/fichero/VOLUMEN+1...TEMA 4: COMUNICACIONES ¾ Diagrama de bloques: Figura 20. Diagrama de bloques para el I-7017

TEMA 4: COMUNICACIONES

4. COMUNICACIONES

A lo largo de este capítulo se va explicar con detalle la forma en que se comunican el sistema de la pila y reformador con el sistema de gestión y control llevado a cabo desde el PC. Dichas comunicaciones se van a caracterizar por el dispositivo a través del cual se realizan, el tipo de interfase de comunicación que utilizan, el protocolo que necesitan para la correcta comunicación, el tipo de datos que van a poner en juego y por el tipo de puerto que utilizan en el PC, que resulta ser el mismo (puerto serie) para todos los casos salvo para las tarjetas de adquisición que lo hacen vía SNET. En primer lugar se hará una breve descripción de un dispositivo necesario para estas comunicaciones, y a continuación analizarán por separado las comunicaciones utilizadas para el reformador y para la pila.

4.1. Convertidor RS-232 a RS-485

Habitualmente, el sistema utilizado por la mayoría de los PCs es la interfase de comunicación RS-232. Sin embargo éste presenta muchas limitaciones en cuanto a velocidad de transmisión, distancia y número de dispositivos conectables. Una alternativa a éste la ofrece la interfase RS-485, que soporta una mayor distancia de cableado y un número mucho mayor de dispositivos conectables (ver comparativa). En particular, la RS-232 soporta como máximo 2 dispositivos conectados hasta una distancia de 15 metros, mientras que la RS-485 soporta hasta 256 dispositivos (2048 si hay repetidor) con una distancia de 1200 metros. Una de las características más importantes de la interfase RS-485 es que trabaja en modo “half-duplex”, es decir, que en el bus solamente se puede leer o escribir, nunca ambos a la vez. Esto es debido a que la RS-485 utiliza tres cables, donde dos de ellos se utilizan para transmitir/recibir y el otro es la línea común.

Por estos motivos y debido a que algún dispositivo sólo admite la norma

RS-485, se ha instalado un convertidor de RS-232 a RS-485, en concreto el convertidor I-7520 de la marca ICP-CON (ver Figura 16).

Un dato a tener en cuenta es que al conectar una red de dispositivos

mediante el convertidor I-7520 al PC, todos ellos deben transmitir a la misma velocidad y con el mismo formato de datos (bit de paridad si/no, bits de inicio/parada). Si algún dispositivo retransmitiese a una velocidad mayor, se vería limitado por la velocidad del más lento, ya que el I-7520 detecta la velocidad más baja y la establece como única.

En la Figura 17 se puede ver el diagrama de bloques mediante el cual

funciona el módulo I-7520.

22

Page 2: 4.1. Convertidor RS-232 a RS-485bibing.us.es/proyectos/abreproy/4003/fichero/VOLUMEN+1...TEMA 4: COMUNICACIONES ¾ Diagrama de bloques: Figura 20. Diagrama de bloques para el I-7017

TEMA 4: COMUNICACIONES

Figura 16.Convertidor RS-232 a RS-485 I-7520

Figura 17. Diagrama de bloques del convertidor I-7520

23

Page 3: 4.1. Convertidor RS-232 a RS-485bibing.us.es/proyectos/abreproy/4003/fichero/VOLUMEN+1...TEMA 4: COMUNICACIONES ¾ Diagrama de bloques: Figura 20. Diagrama de bloques para el I-7017

TEMA 4: COMUNICACIONES

4.2. Comunicación con los elementos de la pila

Al hablar de comunicación con la pila es necesario hablar de tres vías de comunicación, pues existen tres tipos distintos de dispositivos que intervienen en ella. Los tres tipos de dispositivos mencionados son: tarjetas de adquisición, módulos de lectura de voltaje y PIDs. A través de las tarjetas de adquisición se obtiene la información de prácticamente todos los sensores existentes en la pila y se tiene acceso a los actuadotes de la misma. Mediante los módulos de lectura de voltaje se tiene la tensión de cada una de las celdas individuales de la pila. Con los PIDs, aunque realizan otras acciones en las que no interviene la comunicación con el PC, como se indicó en el Tema 3; se modifican los Set Points de temperatura del agua de los humidificadores y del depósito del agua de refrigeración, y se obtienen las temperaturas reales del agua de dichos elementos.

4.2.1. Tarjetas de adquisición

A través de las tarjetas se puede calcular cada uno de los valores de las variables medidas por los sensores así como modificar el estado de los actuadores. Las tarjetas instaladas son IMPs (Isolated Measurement Pods) de la serie 3595 de Solartron. El flujo que sigue la comunicación desde el PC hasta la instalación de la pila es el siguiente:

Figura 18. Esquema de comunicación de las tarjetas de adquisición

24

Page 4: 4.1. Convertidor RS-232 a RS-485bibing.us.es/proyectos/abreproy/4003/fichero/VOLUMEN+1...TEMA 4: COMUNICACIONES ¾ Diagrama de bloques: Figura 20. Diagrama de bloques para el I-7017

TEMA 4: COMUNICACIONES

Se han necesitado en total tres tarjetas, las cuales se describen a continuación:

Tabla 1. Características de las tarjetas de adquisición

Para iniciar el proceso de adquisición y envío de datos, es necesario

realizar una secuencia de configuración de las tarjetas. A nivel de programación, se utilizan los drivers para LabVIEW que Solartron ha proporcionado. A continuación se enumeran los pasos de dicha secuencia de configuración.

1. Establecer comunicación con la SNET (dirección C800 para el PC) 2. Configurar las IMPs, o bien recuperar alguna configuración anterior que

se hubiera guardado. 3. Configurar los canales que se vayan a utilizar de cada tarjeta, excepto

cuando se recuperó en la etapa anterior una configuración memorizada. 4. Guardar, si se quiere, la configuración realizada. 5. Repetir los pasos 2 a 4 para cada tarjeta de configuración. 6. Armar las tarjetas. 7. Iniciar el proceso de mediciones. 8. Leer los datos medidos. 9. Repetir los pasos 5 y 6 para otras mediciones que se deseen realizar. 10. Cuando termine el proceso, cerrar la sesión con las tarjetas y la SNET.

25

Page 5: 4.1. Convertidor RS-232 a RS-485bibing.us.es/proyectos/abreproy/4003/fichero/VOLUMEN+1...TEMA 4: COMUNICACIONES ¾ Diagrama de bloques: Figura 20. Diagrama de bloques para el I-7017

TEMA 4: COMUNICACIONES

A continuación, en las siguientes tablas se detallan los sensores y actuadores que están conectados a cada tarjeta:

Tabla 2. Canales de la tarjeta 35951C

26

Page 6: 4.1. Convertidor RS-232 a RS-485bibing.us.es/proyectos/abreproy/4003/fichero/VOLUMEN+1...TEMA 4: COMUNICACIONES ¾ Diagrama de bloques: Figura 20. Diagrama de bloques para el I-7017

TEMA 4: COMUNICACIONES

Tabla 3. Canales de la tarjeta 35952A

Tabla 4. Canales de la tarjeta 35952D

27

Page 7: 4.1. Convertidor RS-232 a RS-485bibing.us.es/proyectos/abreproy/4003/fichero/VOLUMEN+1...TEMA 4: COMUNICACIONES ¾ Diagrama de bloques: Figura 20. Diagrama de bloques para el I-7017

TEMA 4: COMUNICACIONES

4.2.2. Módulos de lectura de voltaje

Durante la ejecución del ensayo, además de conocer la tensión en bornas que pueda dar la pila a una posible carga, es necesario tener bajo control la tensión de cada celda individual. Existen 72 celdas dispuestas en serie cuyas tensiones se suman para tener la tensión total de la pila. Para cubrir esta necesidad se han instalado 10 módulos de lectura de voltaje donde cada módulo posee 8 canales analógicos de entrada.

Los módulos elegidos han sido los I-7017 de la marca ICP-DAS. Cada

módulo, aparte de los 8 canales de lectura de voltaje, y de los dos correspondientes para su alimentación, tiene dos canales de comunicación que utilizan la RS-485, por lo que para la comunicación con el PC es necesario instalar en éste el convertidor I-7520 descrito al inicio del capítulo.

Figura 19. Módulo de lectura de voltaje I-7017

28

Page 8: 4.1. Convertidor RS-232 a RS-485bibing.us.es/proyectos/abreproy/4003/fichero/VOLUMEN+1...TEMA 4: COMUNICACIONES ¾ Diagrama de bloques: Figura 20. Diagrama de bloques para el I-7017

TEMA 4: COMUNICACIONES

Diagrama de bloques:

Figura 20. Diagrama de bloques para el I-7017

En la Figura 20 se observa lo antes mencionado. Se disponen 8 canales de

tensión diferencial (Vin), dos para comunicación (Data) y dos para alimentación, que debe estar comprendida en el rango de 10 a 30 V (dc).

Caracterización del dispositivo

Cada dispositivo está determinado por las siguientes características (todas

configurables):

o Dirección: será como un distintivo para poder diferenciarse de cualquier otro módulo similar conectado a la red RS-485.

o Tipo de entrada analógica: se refiere al rango de tensión de

entrada (ver Tabla 5)

o Velocidad de transmisión: medida en baudios (bps), puede variar entre 1200 y 115200 bps. (ver Tabla 6)

29

Page 9: 4.1. Convertidor RS-232 a RS-485bibing.us.es/proyectos/abreproy/4003/fichero/VOLUMEN+1...TEMA 4: COMUNICACIONES ¾ Diagrama de bloques: Figura 20. Diagrama de bloques para el I-7017

TEMA 4: COMUNICACIONES

o Checksum: es un código de comprobación compuesto por la suma de los valores ASCII de los bytes que componen el mensaje que intercambia el módulo a través de la RS-485. Es opcional su inclusión en el mensaje de comunicación.

o Formato de las unidades: influye en el tipo de representación

de los valores (ingenieril 10.000 V, porcentual (sobre el valor máximo del rango) 100.00 % o en formato hexadecimal (en complemento a 2) 7FFF).

o Frecuencia de supresión: determina la cualidad del dispositivo

para evitar ruidos a la hora de tomar las medidas. Los valores que puede tomar son 50 Hz y 60 Hz.

o Disposición del Jumper JP1: este jumper está situado dentro

del dispositivo y tiene dos posturas, que determinan el modo de entrada de los canales 6 y 7. Esto se explicará con detalle en el manual de usuario de los módulos, en el Tema 6.

Protocolo de comunicación

Para poder comunicarse con el módulo desde el PC es necesario que el mensaje que le llega éste tenga siga un protocolo determinado. En el caso de los módulos I-7017, el protocolo es el DCON. Éste consiste en el envío de una serie de comandos a través de la RS-485 constituidos por varios caracteres ASCII con una estructura determinada. El proceso de comunicación consiste en mandar un mensaje que siga el protocolo DCON al módulo correspondiente, y esperar la respuesta de éste. La estructura del mensaje es la siguiente:

o Formato del mensaje de envío al módulo

o Formato del mensaje de respuesta del módulo

30

Page 10: 4.1. Convertidor RS-232 a RS-485bibing.us.es/proyectos/abreproy/4003/fichero/VOLUMEN+1...TEMA 4: COMUNICACIONES ¾ Diagrama de bloques: Figura 20. Diagrama de bloques para el I-7017

TEMA 4: COMUNICACIONES

Carácter principal: es el encabezado del mensaje. Tiene 1 carácter de longitud y depende del tipo de mensaje. Dirección del módulo: es el identificador de cada módulo. Indica con qué módulo se está comunicando. Ocupa 1 byte (dos dígitos en hexadecimal). Checksum: código de comprobación. Sólo es necesario incluirlo si se activa la opción durante la configuración del módulo. Son 2 caracteres, resultado de la suma de todos los caracteres de la cadena del mensaje excepto el del carácter CR. CR: es el carácter de retorno de carro. Datos: contiene la información pedida al módulo en el mensaje de envío.

Nota: Todos los caracteres deben estar en mayúsculas. En todos los casos, no habrá respuesta si la estructura del mensaje no es correcta, si no existe ningún módulo con la dirección indicada o si ha habido algún error de comunicación.

Existe una gran variedad de comandos que se pueden enviar a los

módulos, pero sólo se van a enumerar aquéllos que se necesitan para el tema nos ocupa. Para mayor información sobre el resto de los comandos se remite al lector a la lectura del I-7000 Series User’s Manual, que viene acompañando a los módulos I-7017.

Comandos: %AANNTTCCFF

Modificar la configuración del módulo de dirección AA. %: Carácter principal AA: dirección del módulo en formato hexadecimal (desde 01 a FF) NN: nueva dirección para el módulo AA (desde 01 a FF) TT: nuevo tipo de entrada analógica (ver Tabla 5) CC: nueva velocidad de transmisión (ver Tabla 6) FF: modifica las características de formato de unidades, frecuencia de supresión y checksum (no es necesario cambiarlo, puesto que viene configurado de forma adecuada por defecto. Para dejarlo igual que por defecto poner FF = 00) Formato de respuesta: !AA[CHECKSUM](CR): comunicación correcta ?AA[CHECKSUM](CR): comunicación incorrecta

31

Page 11: 4.1. Convertidor RS-232 a RS-485bibing.us.es/proyectos/abreproy/4003/fichero/VOLUMEN+1...TEMA 4: COMUNICACIONES ¾ Diagrama de bloques: Figura 20. Diagrama de bloques para el I-7017

TEMA 4: COMUNICACIONES

Tabla 5. Códigos configuración de tipo de entrada analógica

Tabla 6. Códigos de configuración de velocidad de transmisión

#AA

Leer los datos de todos los canales del módulo AA. Formato de respuesta:

>(Datos)[Checksum](CR): comunicación correcta

?AA[Checksum](CR): comunicación incorrecta (Datos): aparecerán en el formato elegido (ingenieril por defecto) todos los canales seguidos desde el canal 0 al canal 7.

#AAN

Lee los datos del canal N del módulo AA. Formato de respuesta:

>(Datos)[Checksum](CR): comunicación correcta

?AA[Checksum](CR): comunicación incorrecta (Datos): sólo la medida del canal elegido.

32

Page 12: 4.1. Convertidor RS-232 a RS-485bibing.us.es/proyectos/abreproy/4003/fichero/VOLUMEN+1...TEMA 4: COMUNICACIONES ¾ Diagrama de bloques: Figura 20. Diagrama de bloques para el I-7017

TEMA 4: COMUNICACIONES

$AA2

Leer la configuración del módulo de dirección AA. Formato de respuesta: !AATTCCFF[CHECKSUM](CR): comunicación correcta. ?AA[CHKSUM](CR): comunicación incorrecta. Donde: AA: dirección del módulo en formato hexadecimal (desde 01 a FF) TT: tipo de entrada analógica (ver Tabla 5) CC: velocidad de transmisión (ver Tabla 6) FF: otras características.

Configuración por defecto

El dispositivo viene configurado por defecto con los siguientes valores:

Dirección: 01 Tipo de entrada analógica: tipo 08, de -10 V a +10 V

Velocidad de transmisión: 9600 bps

Frecuencia de supresión: 60 Hz

Checksum: deshabilitado

Formato de unidades: ingenieril

Implementación

Para realizar todo este proceso de comunicación desde el programa se ha diseñado un driver para LabView donde se ha implementado el protocolo DCON. Este driver es “Lectura módulo I-7017.vi”. Para más información relativa a la programación del driver, ver Anexo A.

33

Page 13: 4.1. Convertidor RS-232 a RS-485bibing.us.es/proyectos/abreproy/4003/fichero/VOLUMEN+1...TEMA 4: COMUNICACIONES ¾ Diagrama de bloques: Figura 20. Diagrama de bloques para el I-7017

TEMA 4: COMUNICACIONES

4.2.3. PIDs

Ya se comentó en el Tema 3 la función del PID, esto es, la de realizar un control todo/nada de la temperatura del agua de los humidificadores y del depósito del agua de refrigeración (ver Figura 12). Como se observa en la Figura 12, el PID se encarga de las tareas de control y la única intervención del PC en el proceso es mediante el envío al PID de los Set Points. Este envió se hace desde la interfaz del programa. Los Set Points pueden ser modificados en el front panel por el usuario.

Los PIDs utilizados son de la serie 96 de Watlow, en concreto, el modelo

96A0 CFDU 00RG. Estas siglas significan lo siguiente:

96: serie A: suministro eléctrico de 100-240 V ~ (ac/dc) 0: dispone de sólo una entrada C: tipo de salida 1 switch (DC) F: tipo de salida 2 proceso (mA o V) D: tipo de salida 3 relé electromecánico (AC) U: tipo de salida 4 comunicaciones vía RS-485 00: software estándar RG: colores de la pantalla rojo y verde

Figura 21. Características de entrada/salida del PID 96A0 CDFU 00RG

34

Page 14: 4.1. Convertidor RS-232 a RS-485bibing.us.es/proyectos/abreproy/4003/fichero/VOLUMEN+1...TEMA 4: COMUNICACIONES ¾ Diagrama de bloques: Figura 20. Diagrama de bloques para el I-7017

TEMA 4: COMUNICACIONES

Los sensores de temperatura irán conectados a la entrada del PID. Para las salidas, el relé irá a la salida 1 (switch), puesto que el relé que se ha instalado funciona con corriente continua. Para las comunicaciones se utiliza la salida 4, a la que se conectará el convertidor I-7520, para poder comunicarse correctamente con el PC (ver Figura 22):

Figura 22. Dispositivos conectados al PID 96A0 CDFU 00RG

Comunicación

La comunicación con el PID se basa en el acceso a los registros de éste. En total hay 141 registros, y contienen los valores de los parámetros que determinan la manera de cómo funcionará el controlador, y los valores actuales de entrada y salida del sistema. Cada registro tiene una dirección concreta dentro de la tabla de registros. Por ejemplo, para variar el Set Point sólo basta con modificar el valor del registro que está asociado al Set Point. Pero el modo de acceder a los registros es algo más complicado. El PID requiere del protocolo ModBus RTU para la comunicación, protocolo que se describe a continuación:

35

Page 15: 4.1. Convertidor RS-232 a RS-485bibing.us.es/proyectos/abreproy/4003/fichero/VOLUMEN+1...TEMA 4: COMUNICACIONES ¾ Diagrama de bloques: Figura 20. Diagrama de bloques para el I-7017

TEMA 4: COMUNICACIONES

Protocolo ModBus RTU

El protocolo se basa en el intercambio de paquetes de información. El paquete contiene la dirección del controlador que va a recibir la información, unos comandos que determinan qué hacer con esa información y por supuesto la información que se transmite, además de un código de chequeo para asegurar la correcta transmisión. Toda la información intercambiada debe estar en formato hexadecimal.

A su vez, durante el envío del paquete se cumplen las siguientes

especificaciones:

1. Los mensajes son codificados en bytes compuestos por 8 bits, sin bit de paridad y con un bit de parada (8,n,1)

2. Los valores negativos deben estar escritos en formato de

complemento a 2.

3. Los parámetros a leer o modificar están almacenados en registros de 2 bytes.

4. Los mensajes son enviados en paquetes delimitados por una

pausa de duración lo que se tarda en enviar 30 bits, es decir, lo que resulta de dividir 30 entre la velocidad de transmisión (en baudios).

Estructura de los paquetes de envío Cada mensaje está encabezado con un byte que representa la dirección del

PID dentro de la red (desde 01 hasta F7). El segundo byte representa el comando que se va a ejecutar (03 para leer registro y 06 para escribir). Los siguientes n bytes contienen las direcciones de los registros y/o los datos del mensaje. Los dos últimos bytes forman parte del CRC, cuyo significado se explicará al final de este apartado. Se pueden distinguir dos tipos de mensaje, uno es el que se le envía al PID, y otro es el que éste devuelve, mensaje que ha de ser descifrado por el sistema de control del PC.

Nota: nn significa dos dígitos en hexadecimal, que corresponden a 1 byte.

36

Page 16: 4.1. Convertidor RS-232 a RS-485bibing.us.es/proyectos/abreproy/4003/fichero/VOLUMEN+1...TEMA 4: COMUNICACIONES ¾ Diagrama de bloques: Figura 20. Diagrama de bloques para el I-7017

TEMA 4: COMUNICACIONES

Comandos • Lectura de múltiples registros (comando 03):

Es posible leer varios registros, pero sólo cuando sean consecutivos. Hay

que indicar el registro de comienzo y el número de registros a leer

37

Page 17: 4.1. Convertidor RS-232 a RS-485bibing.us.es/proyectos/abreproy/4003/fichero/VOLUMEN+1...TEMA 4: COMUNICACIONES ¾ Diagrama de bloques: Figura 20. Diagrama de bloques para el I-7017

TEMA 4: COMUNICACIONES

Ejemplo: Leer el registro 300 del módulo de dirección 01: Mensaje enviado: 01 03 0136 0001 65F8 Mensaje recibido: 01 03 02 01ED 7999 Se han separado los bytes de cada campo para comprenderlo mejor. Se

observa que para el mensaje de envío, el número de registro 300, en hexadecimal es 136, puesto que sólo se quiere leer un registro, el campo es 0001. Para el mensaje de respuesta, se ve que son dos bytes de datos (campo de nº de bytes 02); y los datos leídos son 01ED, que corresponden en formato decimal a 493. Por tanto, el registro 300 contiene un valor de 493. Los dos últimos campos de cada mensaje son el CRC, que se detallará más adelante.

• Escritura en un registro (comando 06):

Al utilizar este comando, se modifica el contenido del registro que se

especifique. El PID devuelve el mismo mensaje se envió.

Ejemplo: Escribir el valor 270 en el registro 300 del módulo de dirección 01: Mensaje enviado: 01 03 010E 0001 E435 Mensaje recibido: 01 03 010E 0001 E435 Después de escribir este mensaje, el registro 300 contiene el valor 270

(010E en hexadecimal).

38

Page 18: 4.1. Convertidor RS-232 a RS-485bibing.us.es/proyectos/abreproy/4003/fichero/VOLUMEN+1...TEMA 4: COMUNICACIONES ¾ Diagrama de bloques: Figura 20. Diagrama de bloques para el I-7017

TEMA 4: COMUNICACIONES

Existen otros comandos que siguen el protocolo ModBus RTU, pero no son necesarios para el desarrollo del proyecto. Información ampliada sobre estos comandos aparece en el manual de comunicaciones de Watlow: Electronic User’s Manual: Data Communications Reference.

• Mensajes de error:

En los casos que el PID no pueda procesar un comando, éste devuelve un

mensaje de error. Lo que define a este mensaje como tal es que en el campo donde debe aparecer el comando, aparece el mismo código que del mensaje de envío, pero sumado a 80, es decir, si el mensaje de envío fue de lectura (03), en el mensaje de error aparecerá el comando 83. También se incluye un código de error para identificar el origen de éste. Los códigos de error son:

01 Error en el comando 02 Error en la dirección 03 Error en los datos

Ejemplo: Escribir el valor 12000 en el registro 7 del módulo de dirección 01:

Mensaje enviado: 01 06 0007 2EE0 2423 Mensaje recibido: 01 86 03 0261

Se ve que el error se ha producido a causa de los datos (código 03). Esto es debido a que el valor 12000 (2EE0 en hexadecimal) está fuera del rango para el registro 7 del módulo 01. Observar que el comando devuelto ha sido 86, puesto que la orden de envío era para escritura (06).

39

Page 19: 4.1. Convertidor RS-232 a RS-485bibing.us.es/proyectos/abreproy/4003/fichero/VOLUMEN+1...TEMA 4: COMUNICACIONES ¾ Diagrama de bloques: Figura 20. Diagrama de bloques para el I-7017

TEMA 4: COMUNICACIONES

CRC

El CRC (Cyclical Redundancy Check o Comprobación de Redundancia Cíclica) es un código de comprobación que se incluye al final de un mensaje para verificar que durante la transmisión no se ha modificado el contenido del mensaje original, es decir, una manera de detectar errores en la comunicación. El CRC no determina el origen del error, pero sí indica que ha habido uno.

Durante la comunicación con un PID se producen dos cálculos del CRC,

uno para el mensaje de envío y otro para el de respuesta. El CRC del mensaje de respuesta lo genera internamente el PID, pero el de envío ha de ser generado desde el PC. Para este cálculo, se ha creado un subVi, llamado “CRC.vi”.

La idea del cálculo del CRC reside en considerar el mensaje como un

extenso número binario. Este número entonces de divide por un cierto número, binario también, y el resto de esa división es el CRC.

El CRC no es único para un mensaje determinado, ya que según el divisor

utilizado se obtendrá un resultado distinto, es decir, habrá un CRC por cada divisor utilizado. En realidad lo importante no es que se calcule de una forma u otra, sino que a la hora de comprobarlo, se sepa qué divisor se ha utilizado, y coincida el CRC que acompaña el mensaje con el CRC generado con ese mismo divisor, es decir, antes de enviar el mensaje se debe saber qué divisor utiliza el dispositivo de destino para comprobarlo.

Esta operación, sin embargo es computacionalmente muy costosa, por lo

que se suele acudir a algoritmos de cálculo que reducen el tiempo considerablemente. En nuestro caso se ha utilizado el algoritmo que viene implementado en el Electronic User’s Manual: Data Communications Reference de Watlow, ya que este algoritmo es el requerido para el CRC que calcula internamente el PID. El divisor utilizado es A001 (en hexadecimal). A continuación se expone dicho algoritmo implementado en C++:

40

Page 20: 4.1. Convertidor RS-232 a RS-485bibing.us.es/proyectos/abreproy/4003/fichero/VOLUMEN+1...TEMA 4: COMUNICACIONES ¾ Diagrama de bloques: Figura 20. Diagrama de bloques para el I-7017

TEMA 4: COMUNICACIONES

#define POLYNOMIAL 0xA001; unsigned int calc_crc(unsigned char *start_of_packet, unsigned char *end_of_packet) { unsigned int crc; unsigned char bit_count; unsigned char *char_ptr; char_ptr = start_of_packet; crc = 0xffff; do{ crc ^= (unsigned int)*char_ptr; bit_count = 0; do{ if(crc & 0x0001){ crc >>= 1;

Implementación

Al igual que con el protocolo DCON, se ha tenido que crear un driver para poder realizar la comunicación vía ModBus RTU mediante LabView, puesto que no hay nada hecho sobre esto en este entorno de programación.

Los vis encargados de esta tarea son los siguientes (para más información

ver Anexo A):

o CRC.vi o Enviar mensaje a PID.vi o Escribir Set Point.vi o Gestión de PIDs.vi o Inicialización de PIDs.vi o Leer Tª de PID.vi o Registros PID.vi

Además de otros vis que han necesitado ser modificados para ello.

41

Page 21: 4.1. Convertidor RS-232 a RS-485bibing.us.es/proyectos/abreproy/4003/fichero/VOLUMEN+1...TEMA 4: COMUNICACIONES ¾ Diagrama de bloques: Figura 20. Diagrama de bloques para el I-7017

TEMA 4: COMUNICACIONES

4.3. Comunicación con el reformador

En el caso del reformador, no se ha instalado ningún dispositivo que haga de intermediario entre el reformador y el PC, sino que directamente desde el PC, a través del puerto serie, se envían los mensajes para que el reformador los reciba a través de un sistema de control embebido dentro del armario de control en la instalación del reformador. A partir de ahora, a la hora de hablar de sistema de control global, nos referimos al programa de LabView ejecutado desde el PC, objeto de este proyecto. Para hacer referencia al programa embebido en el reformador se mencionará como sistema de control del reformador.

Por tanto, para poder establecer la comunicación sólo es necesario conocer

el protocolo a seguir que permita al sistema de control del reformador “entender” los mensajes enviados. El protocolo se detalla a continuación, y su descripción está basada en un informe que elaboró CIDAUT para AICIA.

4.3.1. Introducción

La comunicación con el sistema de control del reformador, se puede establecer mediante dos formas:

a) Comunicándose vía RS-232 ó USB (habiendo elegido finalmente la RS-232) con el sistema de control del reformador y empleando el protocolo de comunicación descrito a continuación. También es posible la vía RS-485 a través del convertidor I-7520, cuestión que se aborda en el Tema 5. b) Modificando el fichero de configuración del programa de control. Este fichero se puede cargar y salvar tanto al inicio como en marcha. La introducción del fichero de configuración se efectuará mediante la disquetera existente en el armario de control de la instalación del reformador.

4.3.2. Comunicación mediante RS-232

En las Tablas 7 y 8 se recoge el protocolo de comunicación con el sistema de control global, es decir, se incluyen las órdenes que se pueden dar mediante el programa de control global, los comandos de la orden y las respuestas del sistema de control del reformador.

42

Page 22: 4.1. Convertidor RS-232 a RS-485bibing.us.es/proyectos/abreproy/4003/fichero/VOLUMEN+1...TEMA 4: COMUNICACIONES ¾ Diagrama de bloques: Figura 20. Diagrama de bloques para el I-7017

TEMA 4: COMUNICACIONES

Orden Comando Encender el reformador @[No]EREF[XOR]*[CR] Apagar el reformador @[No]AREF[XOR]*[CR] Rearme @[No]REAR[XOR]*[CR] Recibir datos @[No]RDAT[XOR]*[CR] Cargar el fichero de configuración @[No]CFC[UD][8 caracteres][XOR]*[CR] Salvar el fichero de configuración @[No]SFC[UD][8 caracteres][XOR]*[CR] Caudal de diesel (l/h) requerido @[No]QDIE[0.000][XOR]*[CR] Relación O2/C @[No]O2/C[0.000][XOR]*[CR] Relación H2O/C @[No]H2O/C[0.000][XOR]*[CR] Porcentaje de CO a la salida (ppm) @[No]%CO[000][XOR]*[CR] Cambiar valores PID @[No]PID[00][000.00][000][0000] [000][XOR]*[CR] Secuencia de arranque @[No]SARR[PASO][XOR]*[CR]

Tabla 7. Órdenes y comandos a enviar por el sistema de control global

Orden Respuesta Encender el reformador @[No]EREF[RESP][XOR]*[CR] Apagar el reformador @[No]AREF[RESP][XOR]*[CR] Rearme @[No]REAR[RESP][XOR]*[CR] Recibir datos @[No]RDAT[RESP][LISTADO][XOR]*[CR] Cargar fichero de configuración @[No]CFC[RESP][XOR]*[CR] Salvar el fichero de configuración @[No]SFC[RESP][XOR]*[CR] Caudal de diesel (l/h) requerido @[No]QDIE[RESP][XOR]*[CR] Relación O2/C @[No]O2/C[RESP][XOR]*[CR] Relación H2O/C @[No]H2O/C[RESP][XOR]*[CR] Porcentaje de CO a la salida (ppm) @[No]%CO[RESP][XOR]*[CR] Cambiar valores PID @[No]PID[RESP][XOR]*[CR]

Secuencia de arranque @[No]SARR[RESP][XOR]*[CR] Tabla 8. Respuestas del sistema de control del reformador

Así, para enviar una orden, el formato general del comando de comunicación es:

@ * CRNo CMD XORTXT@ * CRNo CMD XORTXT

excepto en el caso de que la orden sea la de cambio de parámetros de los PID, en el que TXT se subdivide en NPID, CNSG, BP, TINT, TDER: @ * CRNo CMD XORNPID BP TINT TDERCNSG@ * CRNo CMD XORNPID BP TINT TDERCNSG

43

Page 23: 4.1. Convertidor RS-232 a RS-485bibing.us.es/proyectos/abreproy/4003/fichero/VOLUMEN+1...TEMA 4: COMUNICACIONES ¾ Diagrama de bloques: Figura 20. Diagrama de bloques para el I-7017

TEMA 4: COMUNICACIONES

Cuando se desee cargar o salvar un fichero, el formato del comando es:

@ * CRNo CMD XORUD NOMBRE@ * CRNo CMD XORUD NOMBRE

El formato de la respuesta sería:

@ * CRNo CMD XORRESP@ * CRNo CMD XORRESP

En la Tabla siguiente se describe el formato y la nomenclatura empleada en

los comandos y en las respuestas:

@ Es el carácter ASCII ‘64’ No

Es el número de nodo asignado al microprocesador del reformador. Se emplean dos caracteres de forma que se puede ser un número del 01 al 99. En la respuesta el número de nodo es el del ordenador principal. Son de 3 a 5 caracteres dependiendo del comando y es donde se define la orden que se quiere ejecutar:

CMD

EREF: Encender el reformador AREF: Apagar el reformador REAR: Rearme RDAT: Recibir datos CFC: Cargar fichero de configuración SFC: Salvar fichero de configuración QDIE: Caudal diesel (l/h) requerido.

O2/C: Relación de moles de oxígeno por moles de C del combustible H2O/C: Relación de moles de agua por moles de C del combustible %CO: Porcentaje de CO a la salida (ppm) PID: Cambiar los parámetros característicos de un PID

TXT

Es un grupo de caracteres que sólo se emplea en unas determinadas órdenes para especificar una cantidad o un nombre En “caudal de diesel requerido” son 5 caracteres, cuyo formato será 0.000. El caudal de diesel se introduce en l/h En “Porcentaje de CO a la salida” serán tres números 000 En ambos casos se debe mantener el número de caracteres sea cual sea el número, de forma que si queremos mandar una orden que especifica 0.5 l/h de diesel, TXT=”0.500”

UD

Es la unidad desde que se desea cargar el fichero de configuración o donde se desea guardar. Puede ser “A” si es desde el disquete o “C” si se realiza desde el directorio c:\control\config

NOMBRE

En “cargar fichero de configuración” y en “salvar fichero de configuración” son 8 caracteres que contienen el nombre del fichero de resultados sin la extensión. En caso de tener menos de 8 caracteres, rellenar con espacios al final

44

Page 24: 4.1. Convertidor RS-232 a RS-485bibing.us.es/proyectos/abreproy/4003/fichero/VOLUMEN+1...TEMA 4: COMUNICACIONES ¾ Diagrama de bloques: Figura 20. Diagrama de bloques para el I-7017

TEMA 4: COMUNICACIONES

PASO Es el número de paso en el que se encuentra la secuencia de arranque. Su valor está comprendido entre 01 y 99 (ver Tabla 10)

NPID

Es el número de PID. Cada PID tiene asignado un número del 1 al 99. Son siempre dos caracteres. En la Tabla 11 se muestra el valor que corresponde a cada PID del proceso

CNSG

Es el valor de consigna. Puede ser un caudal o una temperatura, dependiendo del PID. Tanto si es uno u otro el formato serán 6 caracteres con el formato: “000.00”

BP Es la banda proporcional. Se define como 100/Kc. Puede tener un valor de 000 a 999

TINT Es la constante de tiempo integral. Su valor puede variar entre 0000 y 9999

TDER Es la constante de tiempo derivativo. Puede tomar valores desde 000 a 999

XOR

Se obtiene convirtiendo en dos caracteres ASCII el valor de 8 bits obtenido mediante la suma XOR (OR exclusiva) de todos los caracteres desde No hasta el TXT (incluyendo a ambos). Los dos caracteres son el número resultante en formato hexadecimal.

* Es el carácter ASCII ‘42’ CR Es el carácter ASCII ‘13’. Se corresponde con el retorno de carro RESP

Son dos caracteres que pueden tomar los siguientes valores OK: La comunicación ha sido la correcta 01: El formato de la orden no se corresponde con el definido en este protocolo 02: Error en el cálculo de XOR

LISTADO

Es el listado de 262 caracteres donde se incluyen los valores de las 133 variables que se pueden visualizar durante el funcionamiento del reformador (ver Tabla )

Tabla 9. Descripción de la nomenclatura empleada

Los valores de la variable PASO se recogen en la Tabla 10. En ella se

especifica las acciones a realizar en cada uno de los casos.

PASO DESCRIPCIÓN 00 Comprobaciones y acciones previas 01 Tarea: Realizar secado del catalizador del ATR 02 Tarea: Reducir el catalizador del ATR 03 Tarea: Alcanzar temperatura de consigna en funcionamiento normal 04 Primera reacción con vapor de agua y diesel (SR) y precalentamiento resto

reactores 05 Reacción con vapor de agua, aire y diesel (ATR) 07 Arranque Desulfurador y SHIFT 08 Arranque PrOx 09 Conexión hacia pila de combustible

Tabla 10. Valores de la variable PASO siguiendo la secuencia de arranque

45

Page 25: 4.1. Convertidor RS-232 a RS-485bibing.us.es/proyectos/abreproy/4003/fichero/VOLUMEN+1...TEMA 4: COMUNICACIONES ¾ Diagrama de bloques: Figura 20. Diagrama de bloques para el I-7017

TEMA 4: COMUNICACIONES

En la Tabla 11 se recogen los distintos valores que puede tomar la constante NPID, en función del PID que se controle y el elemento sobre el que se actúa en cada caso.

FUNCIONAMIENTO NORMAL NPID Descripción Actuador 01 PID de control del caudal de aire a la

entrada del ATR Electroválvula proporcional EVRF 0201

02 PID de control del caudal de vapor de agua a la entrada del ATR

Electroválvula proporcional EVRF 0101

03 PID de control de la temperatura del calentador

Resistencia del calentador

04 PID de control de la temperatura de la cámara de mezcla

Resistencia de la cámara de mezcla

05 PID de control de la temperatura de bloque de resistencias 1 del ATR

Bloque de resistencias 1 del ATR

06 PID de control de la temperatura de bloque de resistencias 2 del ATR

Bloque de resistencias 2 del ATR

07 PID de control de la temperatura de bloque de resistencias 3 del ATR

Bloque de resistencias 3 del ATR

08 PID de control de la temperatura de bloque de resistencias 4 del ATR

Bloque de resistencias 4 del ATR

09 PID de control de la temperatura de bloque de resistencias 5 del ATR

Bloque de resistencias 5 del ATR

10 PID de control de la temperatura de bloque de resistencias 6 del ATR

Bloque de resistencias 6 del ATR

11 PID de control de la temperatura a la entrada del Desulfurador

Electroválvula proporcional EVRF 0701

12 PID de control de la temperatura a la entrada del SHIFT

Electroválvula proporcional EVRF 0702

13 PID de control de la temperatura de salida del SHIFT

Electroválvula proporcional EVRF 0703

14 PID de control de la temperatura de entrada del PrOx

Electroválvula proporcional EVRF 0704

15 PID de control de la temperatura de salida del PrOx

Electroválvula proporcional EVRF 0705

16 PID de control del caudal de aire a la entrada del PrOx (o de ppm de CO)

Electroválvula proporcional EVRF 0202

17 PID de control de la temperatura de salida del condensador

Electroválvula proporcional EVRF 0706

ARRANQUE DEL REFORMADOR NPID Descripción Actuador 01 PID de control de la temperatura del

calentador Resistencia del calentador

02 PID de control de la temperatura de la cámara de mezcla

Resistencia de la cámara de mezcla

03 PID de control de la temperatura de bloque de resistencias 1 del ATR

Bloque de resistencias 1 del ATR

46

Page 26: 4.1. Convertidor RS-232 a RS-485bibing.us.es/proyectos/abreproy/4003/fichero/VOLUMEN+1...TEMA 4: COMUNICACIONES ¾ Diagrama de bloques: Figura 20. Diagrama de bloques para el I-7017

TEMA 4: COMUNICACIONES

NPID Descripción Actuador 04 PID de control de la temperatura de

bloque de resistencias 2 del ATR Bloque de resistencias 2 del ATR

05 PID de control de la temperatura de bloque de resistencias 3 del ATR

Bloque de resistencias 3 del ATR

06 PID de control de la temperatura de bloque de resistencias 4 del ATR

Bloque de resistencias 4 del ATR

07 PID de control de la temperatura de bloque de resistencias 5 del ATR

Bloque de resistencias 5 del ATR

08 PID de control de la temperatura de bloque de resistencias 6 del ATR

Bloque de resistencias 6 del ATR

09 PID de control de la temperatura de salida del Desulfurador

Resistencia del Desulfurador

10 PID de control de la temperatura de salida del SHIFT

Resistencia del SHIFT

11 PID de control de la temperatura de salida del PrOx

Resistencia del PrOx

Tabla 11. Valores de la variable NPID

En el protocolo de comunicación es muy importante tener en cuenta que no

se pueden enviar dos órdenes consecutivas, por lo que el sistema de control global, debe esperar a que conteste el sistema de control del reformador antes de enviar la orden siguiente.

Por último, se describe el campo LISTADO. Dicho campo es una cadena de

262 caracteres, que contiene información acerca de todas las variables que se pueden visualizar durante el funcionamiento del reformador. El listado de las variables, su situación en la cadena de caracteres y el tamaño de cada una de ellas se recogen en la Tabla 12. Las variables de 1 byte pueden representar un valor '0' (carácter ASCII 48) o un '1' (carácter ASCII 49). En las variables de 2 bytes, el byte más significativo es el primero y dentro de ellos el bit más significativo sería el de la izquierda. Con los dos bytes, debido a que se dispone de una resolución de 16 bits, se construye un número que varía entre 0 y 65535. El 0 se corresponde con el cero de la escala y el 65535 con el valor del fondo de escala indicado en la Tabla 12.

47

Page 27: 4.1. Convertidor RS-232 a RS-485bibing.us.es/proyectos/abreproy/4003/fichero/VOLUMEN+1...TEMA 4: COMUNICACIONES ¾ Diagrama de bloques: Figura 20. Diagrama de bloques para el I-7017

TEMA 4: COMUNICACIONES

Nº de variable LÍNEA LEYENDA Variable Nº de

bytes Byte

nº Fondo de escala

0 ARMARIO

ELECTRICO - Estado de decisión

1 0 de 0 a 255

1 ARMARIO

ELECTRICO - Estado de emergencia

8 1 de 0 a 255 (cada uno)

2 AIRE EVB 0201 Electroválvula aire ATR 1 9 1 abierta, 0 cerrada 3 AIRE EVB 0202 Electroválvula aire PrOx 1 10 1 abierta, 0 cerrada 4 HIDRÓGENO EVB 1201 Electroválvula H2 1 11 1 abierta, 0 cerrada 5 NITROGENO EVB 0901 Electroválvula N2 1 12 1 abierta, 0 cerrada 6 VAPOR DE AGUA EVB 0101 Electroválvula vapor de agua 1 13 1 abierta, 0 cerrada

7 VAPOR DE AGUA LI 0101 Nivel depósito agua desionizada

1 14 1 nivel bajo, 0 normal

8 DIESEL LT 0401 Nivel depósito de diesel a presión

1 15 1 nivel alto, 0 normal

9 DIESEL LT 0402 Nivel depósito de diesel a presión

1 16 1 nivel bajo, 0 normal

10 DIESEL B 0401 Bomba de diesel 1 17 1 funciona, 0 parada11 Reactor Desulfurador EVB 0501 Electroválvula salida antorcha 1 18 1 abierta, 0 cerrada 12 Reactor PrOx EVB 0502 Electroválvula salida antorcha 1 19 1 abierta, 0 cerrada

13 Condensador LT 0801 Nivel depósito de condensados

1 20 1 nivel alto, 0 normal

14 Condensador Nivel depósito de condensados

1 21 1 nivel bajo, 0 normal

15 Salida Gases EVB 0601 Electroválvula salida pila 1 22 1 abierta, 0 cerrada 16 Salida Gases EVB 0602 Electroválvula salida antorcha 1 23 1 abierta, 0 cerrada 17 Línea de medida EVB 1101 Electroválvula salida pila 1 24 1 abierta, 0 cerrada 18 Línea de medida EVB 1102 Electroválvula salida antorcha 1 25 1 abierta, 0 cerrada 19 AIRE FT 0201 Caudal de aire entrada ATR 2 26 0 - 18 Nm3/h 20 AIRE FT 0202 Caudal de aire entrda PrOx 2 28 0 - 1 Nm3/h 21 AIRE - Relación O2/C 2 30 0 - 1 22 AIRE PI 0201 Presión de la línea 2 32 0 - 6 bar 23 AIRE TI 0201 Temperatura entrada calentador 2 34 0 - 500 ºC 24 VAPOR DE AGUA FT 0101 Caudal vapor de agua 2 36 0 - 15 Nm3/h 25 VAPOR DE AGUA - Relación H2O/C 2 38 0 - 10 26 VAPOR DE AGUA PI 0101 Presión de línea 2 40 0 - 6 bar 27 VAPOR DE AGUA TI 0101 Temperatura entrada calentador 2 42 0 - 500 ºC 28 AIRE + VAPOR TT 0301 Temperatura salida calentador 2 44 0 - 500 ºC 29 HIDRÓGENO FI 1201 Caudal de hidrógeno 2 46 0 - 3 Nm3/h 30 NITROGENO FI 0201 Caudal de nitrógeno 2 48 0 - 18 Nm3/h 31 DIESEL PI 0401 Presión de depósito presurizado 2 50 0 - 10 bar 32 DIESEL I 0501 Caudal de diesel 2 52 0 - 5 Nl/h 33 AGUA REFRIG 1 FI 0701 Caudal de agua de refrigeración 2 54 0 - 600 l/h 34 AGUA REFRIG 1 TI 0701 Tª salida bomba de agua 2 56 0 - 500 ºC 35 AGUA REFRIG 1 TI 0702 Tª salida refrigeración E0501 2 58 0 - 500 ºC 36 AGUA REFRIG 1 TI 0703 Tª salida refrigeración E0502 2 60 0 - 500 ºC 37 AGUA REFRIG 1 TI 0704 Tª salida refrigeración SHIFT 1 2 62 0 - 500 ºC 38 AGUA REFRIG 1 TI 0705 Tª salida refrigeración SHIFT 2 2 64 0 - 500 ºC 39 AGUA REFRIG 1 TI 0706 Tª salida refrigeración E0503 2 66 0 - 500 ºC 40 AGUA REFRIG 1 TI 0707 Tª salida refrigeración PrOx 1 2 68 0 - 500 ºC 41 AGUA REFRIG 1 TI 0708 Tª salida refrigeración PrOx 2 2 70 0 - 500 ºC 42 AGUA REFRIG 1 TI 0709 Tª entrada aerotermo 2 72 0 - 500 ºC 43 AGUA REFRIG 2 FI 0702 Caudal de agua de refrigeración 2 74 0 - 2000 l/h 44 AGUA REFRIG 2 TI 1001 Tª salida bomba de agua 2 76 0 - 500 ºC

45 AGUA REFRIG 2 TI 1002 Tª salida refrigeración

Condensador 2 78 0 - 500 ºC

48

Page 28: 4.1. Convertidor RS-232 a RS-485bibing.us.es/proyectos/abreproy/4003/fichero/VOLUMEN+1...TEMA 4: COMUNICACIONES ¾ Diagrama de bloques: Figura 20. Diagrama de bloques para el I-7017

TEMA 4: COMUNICACIONES

46 AGUA REFRIG 2 TI 1003 Tª entrada enfriadora 2 80 0 - 500 ºC

47 CÁMARA DE

MEZCLA TI 0501 Temperatura 1

2 82 0 - 500 ºC

48 CÁMARA DE

MEZCLA TI 0502 Temperatura 2

2 84 0 - 500 ºC

49 CÁMARA DE

MEZCLA TI 0503 Temperatura 3

2 86 0 - 500 ºC

50 CÁMARA DE

MEZCLA TT 0501 Temperatura PID

2 88 0 - 500 ºC 51 Reactor ATR PT 0501 Presión entrada ATR 2 90 0 - 6 bar 52 Reactor ATR PDA 0501 Caída de presión en el ATR 2 92 0 - 500 mbar 53 Reactor ATR TT 0502 Temperatura PID 1 2 94 0 - 1000 ºC 54 Reactor ATR TT 0503 Temperatura PID 2 2 96 0 - 1000 ºC 55 Reactor ATR TT 0504 Temperatura PID 3 2 98 0 - 1000 ºC 56 Reactor ATR TT 0505 Temperatura PID 4 2 100 0 - 1000 ºC 57 Reactor ATR TT 0506 Temperatura PID 5 2 102 0 - 1000 ºC 58 Reactor ATR TT 0507 Temperatura PID 6 2 104 0 - 1000 ºC 59 Reactor Desulfurador PI 0502 Presión entrada SHIFT 2 106 0 - 6 bar 60 Reactor Desulfurador PDA 0502 Caída de presión en el SHIFT 2 108 0 - 500 mbar

61 Reactor Desulfurador TI 0510 Temperatura entrada

desulfurador 2 110 0 - 1000 ºC 62 Reactor Desulfurador TI 0511 Temperatura salida desulfurador 2 112 0 - 1000 ºC 63 Reactor Desulfurador TT 0508 Temperatura PID INT1 2 114 0 - 1000 ºC 64 Reactor SHIFT PI 0503 Presión entrada SHIFT 2 116 0 - 6 bar 65 Reactor SHIFT PDA 0503 Caída de presión en el SHIFT 2 118 0 - 500 mbar 66 Reactor SHIFT TT 0510 Temperatura 1 2 120 0 - 500 ºC 67 Reactor SHIFT TI 0512 Temperatura 2 2 122 0 - 500 ºC 68 Reactor SHIFT TI 0513 Temperatura 3 2 124 0 - 500 ºC 69 Reactor SHIFT TI 0514 Temperatura 4 2 126 0 - 500 ºC 70 Reactor SHIFT TT 0511 Temperatura 5 2 128 0 - 500 ºC 71 Reactor SHIFT TT 0512 Temperatura PID SHIFT 2 130 0 - 500 ºC 72 Reactor PrOx PI 0601 Presión entrada PrOx 2 132 0 - 6 bar 73 Reactor PrOx PDA 0601 Caída de presión en el PrOx 2 134 0 - 500 mbar 74 Reactor PrOx TT 0512 Temperatura PID INT3 2 136 0 - 500 ºC 75 Reactor PrOx TI 0601 Temperatura 1 2 138 0 - 500 ºC 76 Reactor PrOx TI 0602 Temperatura 2 2 140 0 - 500 ºC 77 Reactor PrOx TI 0603 Temperatura 3 2 142 0 - 500 ºC 78 Reactor PrOx TI 0604 Temperatura 4 2 144 0 - 500 ºC 79 Reactor PrOx TT 0601 Temperatura 5 2 146 0 - 500 ºC 80 Reactor PrOx TT 0602 Temperatura PID PrOx 2 148 0 - 500 ºC 81 Condensador TT 0603 Temperatura salida condensador 2 150 0 - 500 ºC 82 Salida Gases T 0605 Temperatura salida de gases 2 152 0 - 500 ºC 83 Salida Gases PI 0602 Presión línea de salida de gases 2 154 0 - 6 bar 84 Salida Gases FI 0601 Caudal de salida total 2 156 0 - 40 Nm3/h 85 Salida Gases - Caudal de salida de hidrógeno 2 158 0 - 150 Nl/min 86 Salida Gases - Caudal de salida de agua 2 160 0 - 15 Nl/h 86 Línea de medida - Detector de CO ppm 2 162 0 - 5 % 87 Línea de medida - Sensor de CO2 (0-30%) 2 164 0 - 50% 88 Línea de medida - Porcentaje de N2 (%) 2 166 0 - 100 % 89 Línea de medida - Porcentaje de H2 (%) 2 168 0 - 100% 88 AIRE - Duty cycle 2 170 0 - 100% 89 AIRE - Duty cycle 2 172 0 - 100% 90 VAPOR DE AGUA - Duty cycle 2 174 0 - 100% 91 AIRE + VAPOR - Duty cycle 2 176 0 - 100%

92 CÁMARA DE

MEZCLA - Duty cycle

2 178 0 - 100%

49

Page 29: 4.1. Convertidor RS-232 a RS-485bibing.us.es/proyectos/abreproy/4003/fichero/VOLUMEN+1...TEMA 4: COMUNICACIONES ¾ Diagrama de bloques: Figura 20. Diagrama de bloques para el I-7017

TEMA 4: COMUNICACIONES

93 Reactor ATR - Duty cycle presión ATR 2 180 0 - 100% 94 Reactor ATR - Duty cycle 1 2 182 0 - 100% 95 Reactor ATR - Duty cycle 2 2 184 0 - 100% 96 Reactor ATR - Duty cycle 3 2 186 0 - 100% 97 Reactor ATR - Duty cycle 4 2 188 0 - 100% 98 Reactor ATR - Duty cycle 5 2 190 0 - 100% 99 Reactor ATR - Duty cycle 6 2 192 0 - 100%

100 Reactor Desulfurador - Duty cycle INT 1 2 194 0 - 100% 101 Reactor Desulfurador - Duty cycle CAL 2 196 0 - 100% 102 Reactor SHIFT - Duty cycle INT 2 2 198 0 - 100% 103 Reactor SHIFT - Duty cycle ENF 2 200 0 - 100% 104 Reactor SHIFT - Duty cycle CAL 2 202 0 - 100% 105 Reactor PrOx - Duty cycle INT 3 2 204 0 - 100% 106 Reactor PrOx - Duty cycle ENF 2 206 0 - 100% 107 Reactor PrOx - Duty cycle CAL 2 208 0 - 100% 108 Condensador - Duty cycle 2 210 0 - 100% 109 AIRE - Consiga caudal aire ATR 2 212 0 - 18 Nm3/h 110 AIRE - Consiga caudal aire PrOx 2 214 0 - 1 Nm3/h 111 VAPOR DE AGUA - Consigna caudal vapor de agua 2 216 0 - 15 Nm3/h 112 AIRE + VAPOR - Consigna temperatura PID 2 218 0 - 500 ºC

113 CÁMARA DE

MEZCLA - Consigna temperatura PID

2 220 0 - 500 ºC 114 Reactor ATR - Consigna presión ATR 2 222 0 - 6 bar 115 Reactor ATR - Consigna temperatura PID 1 2 224 0 - 1000 ºC 116 Reactor ATR - Consigna temperatura PID 2 2 226 0 - 1000 ºC 117 Reactor ATR - Consigna temperatura PID 3 2 228 0 - 1000 ºC 118 Reactor ATR - Consigna temperatura PID 4 2 230 0 - 1000 ºC 119 Reactor ATR - Consigna temperatura PID 5 2 232 0 - 1000 ºC 120 Reactor ATR - Consigna temperatura PID 6 2 234 0 - 1000 ºC 121 Reactor Desulfurador - Consigna temp PID INT 1 2 236 0 - 500 ºC 122 Reactor Desulfurador - Consigna temperatura PID CAL 2 238 0 - 500 ºC 123 Reactor SHIFT - Consigna temp PID INT 2 2 240 0 - 500 ºC 124 Reactor SHIFT - Consigna temperatura PID ENF 2 242 0 - 500 ºC 125 Reactor SHIFT - Consigna temperatura PID CAL 2 244 0 - 500 ºC 126 Reactor PrOx - Consigna temp PID INT 3 2 246 0 - 500 ºC 127 Reactor PrOx - Consigna temperatura PID ENF 2 248 0 - 500 ºC 128 Reactor PrOx - Consigna temperatura PID CAL 2 250 0 - 500 ºC 129 Condensador - Consigna temperatura PID 2 252 0 - 500 ºC

130 AIRE EVRF

0201 EVRF 0201

2 254 0-100 %

131 AIRE EVRF

0202 EVRF 0202

2 256 0-100 %

132 VAPOR DE AGUA EVRF

0101 EVRF 0101

2 258 0-10 V 133 Salida Gases EVRF sal EVRF salida 2 260 0-100 %

Tabla 12. Listado de las variables enviadas mediante la orden “Recibir datos”

50

Page 30: 4.1. Convertidor RS-232 a RS-485bibing.us.es/proyectos/abreproy/4003/fichero/VOLUMEN+1...TEMA 4: COMUNICACIONES ¾ Diagrama de bloques: Figura 20. Diagrama de bloques para el I-7017

TEMA 4: COMUNICACIONES

4.3.3. Variables modificables mediante el fichero de configuración El programa utiliza un fichero de configuración para leer el valor de los

variables que necesitan tener un valor preestablecido durante el funcionamiento del reformador. Este tipo de ficheros se encuentran en el directorio c:\control\config del microprocesador ubicado en el armario de control del reformador. Antes de iniciar el programa es necesario cargar ese fichero de configuración. Para hacerlo el programa de control global enviará la orden, antes de ordenar el arranque del reformador, y a continuación el programa de control del reformador, o bien abrirá el fichero directamente del disco duro o bien lo copiará primero el fichero al disco duro del microordenador (si se introduce el archivo desde un disquete) y desde allí abrirá el fichero de configuración.

Durante la ejecución del programa se podrá cargar y salvar el fichero de

configuración en cualquier momento. Al igual que ocurría con la orden cargar, la orden salvar también permite guardar el fichero de configuración en el disco duro o grabarlo en un disquete.

Los parámetros y variables que se introducen en el fichero de configuración

son:

• Relación H2O/C • Relación O2/C • Átomos de carbono del combustible • Átomos de hidrógeno del combustible • Densidad del combustible en estado líquido • Datos acerca de los PIDs. Se podrán modificar los valores de la consigna, la

banda proporcional, el tiempo integral y el tiempo derivativo de los siguientes PIDs: o PID de control del caudal de aire a la entrada del ATR o PID de control del caudal de vapor de agua a la entrada del ATR o PID de control del caudal de diesel a la entrada del ATR o PID de control de la temperatura del calentador o PID de control de la temperatura de la cámara de mezcla o PID de control de la temperatura de cada resistencia del ATR (6) o PID de control de la temperatura a la entrada del desulfurador o PID de control de la temperatura a la entrada del SHIFT o PID de control de la temperatura de salida del SHIFT o PID de control de la temperatura de entrada del PrOx o PID de control de la temperatura de salida del PrOx o PID de control del caudal de aire a la entrada del PrOx o de las ppm de

CO a la salida del PrOx o PID de control de la temperatura de salida del condensador

51

Page 31: 4.1. Convertidor RS-232 a RS-485bibing.us.es/proyectos/abreproy/4003/fichero/VOLUMEN+1...TEMA 4: COMUNICACIONES ¾ Diagrama de bloques: Figura 20. Diagrama de bloques para el I-7017

TEMA 4: COMUNICACIONES

Todos estos PIDs tienen lugar durante el funcionamiento normal. Pero durante el arranque, se deben definir otros PID para los reactores ATR, desulfurador, SHIFT y PrOx, así como para la cámara de mezcla y el calentador, mencionados anteriormente en la definición del parámetro NPID:

o PID de control de la temperatura del calentador o PID de control de la temperatura de la cámara de mezcla o PID de control de la temperatura de bloque de resistencias 1 del ATR o PID de control de la temperatura de bloque de resistencias 2 del ATR o PID de control de la temperatura de bloque de resistencias 3 del ATR o PID de control de la temperatura de bloque de resistencias 4 del ATR o PID de control de la temperatura de bloque de resistencias 5 del ATR o PID de control de la temperatura de bloque de resistencias 6 del ATR o PID de control de la temperatura de salida del Desulfurador o PID de control de la temperatura de salida del SHIFT o PID de control de la temperatura de salida del PrOx

La salida de todos los PIDs, tanto los que accionan una electroválvula como

los que accionan una resistencia, tienen como salida el duty cycle de una señal pulsada. Este valor se corresponde con el porcentaje de la señal pulsada en la que la señal pulsada de cada elemento presenta un valor activo.

También se introducirán los valores límites para la señal de mando de los

PIDs que vendrán representados por las variables duty_cycle_limite_inf y duty_cycle_limite_sup. Estas variables representan el máximo y el mínimo duty cycle que se puede tener en el pulso de control, ya que nunca se podrá poner un pulso con el duty cycle del 100% ni con el duty cycle del 0%.

Límites de las variables para la detección de emergencias:

o Temperaturas límite de cada uno de los reactores y calentadores (cámara de mezcla y calentador), estos últimos para prevenir la formación de coque. Hasta que no se hagan los ensayos no se definirá totalmente cuantas temperaturas se limitan por reactor

o Presiones de línea elevadas demasiado reducidas (6) o Diferencias de presión entre la entrada y la salida de los reactores (3) o Concentración de CO elevada para la pila de combustible (< 50 ppm) o Concentración de H2 reducida a la entrada de la pila de combustible

(<35%) o Alguno de los caudales de alimentación igual a cero o Temperatura muy elevada en los circuitos de refrigeración (en la salida

del aerotermo o de la enfriadora

52