Está en la página 1de 4

3.4.

PROTOCOLOS ASCII Y HART

3.4.1. PROTOCOLOS ASCII


Debido a su simplicidad son muy populares, lo cual los hace apropiados para
instalaciones sencillas, generalmente una Maestra y una Remota. Su principal desventaja es
su lentitud y su incapacidad para manejar sistemas más complicados, por ejemplo,
sistemas multipunto de más de 32 remotas.
Podemos encontrar dos tipos de protocolo ASCII: el protocolo ASCII para
Transmisores Digitales y el protocolo ASCII ANSI X3.28-2.5-A4; este último es un poco
más elaborado. La primera versión del protocolo ANSI X3.28 apareció en 1976.

FORMATO DE PALABRA: 1 bit de START, 8 bit de DATOS, sin bit de PARIDAD


y 1 bit de STOP .
Recepción de mensajes
Un mensaje dirigido al instrumento debe consistir en la siguiente serie de
caracteres ASCII

* D d C C x …………………. x CR
Figura 3.4.1.1. Formato de recepción de mensajes

- Un carácter “*” [ASCII 42] de inicio de mensajes.


- Dos dígitos de dirección ( entre 00 y 99)
- Uno o dos caracteres ASCII correspondientes al comendo deseado según la tabla
de comandos
- Si el comando es del tipo de modificación de parámetros, se enviara el nuevo
valor en forma de un byte de signo + [ ASCII 43 ] o - [ ASCII 45 ] seguido de un
bloque de N caracteres ASCII, incluido el punto decimal.
- Un carácter “CR” [ ASCII 13 ] de fin de mensaje.

Transmisión de mensajes
El formato de los mensajes enviados desde el instrumento como respuesta a un
comando de tipo de petición de datos es el siguiente:

SP x …………………….. x CR
Figura 3.4.1.2. Formato de transmisión de mensajes

- Un byte de espacio en blanco [ ASCII 32 ]


- Un valor numérico requerido consiste en un valor de signo + [ASCII 43] o –
[ASCII 45] seguido de un bloque de caracteres ASCII incluido el punto decimal.
- Un carácter “CR” [ASCII 13] de fin de mensaje.

Si el mensaje es del tipo orden o cambio de parámetros, el instrumento no envía


ninguna respuesta.

PROTOCOLO ASCII PARA TRANSMISORES DIGITALES

8
En el comercio se encuentra una variedad de transmisores que aceptan la salida de
sensores (de temperatura, flujo, densidad, etc.) la cual procesan y transmiten
asincrónicamente en un formato digital hacia un puerto serie de un procesador, algunas
veces denominado “indicador”. Generalmente en el procesador la información es
almacenada y actualizada normalmente ocho veces por segundo y está disponible, si es
solicitada, para ser enviada a un servidor de control. El transmisor digital puede también
aceptar comandos desde el servidor.
Características:

• Control por Caracteres


• Transmisión HDX asincrónica
• Velocidades: entre 300 y 1200 bps
• Interfaces: RS-232C en operación punto a punto. Si acaso se llega a utilizar en
operación multipunto, entonces hay que emplear la interfaz RS-485.

Estructura de los Formatos


El intercambio se basa en Comandos y Respuestas entre el transmisor y el
procesador. El procesador genera siempre las secuencias de comando. Los formatos para
los comandos y respuestas tiene la configuración mostrada en la fig.(3.4.1.3).

Comando desde el Procesador: Leer Datos (Read Data)

Caracteres → 1 1 1 1 1 1
# ADD R D BCC CR

Respuesta desde el Transmisor

Caracteres → 1 1 1 1 9 1 1
# ADD R D Valor de Dato BCC CR
Figura 3.4.1.3. Formatos para Mensajes de Comandos/Respuestas.

Los caracteres # (23H), ∗ (2AH) y CR (0DH) son caracteres ASCII, utilizados


para delimitar los formatos. Nótese que estos formatos tienen una configuración fija, por
cuanto se pide la salida única de un transmisor cuya dirección es ADD. Los caracteres R y
D significan Leer Datos (Read Data, RD). El contenido del campo BCC es la suma en
hexadecimal de los caracteres previos tanto en comando como en respuesta. Los nueve
caracteres del campo Valor del Dato contienen la polaridad (±), siete dígitos decimales y
un punto decimal. Por ejemplo, si el procesador le pide al transmisor 2 que lea sus datos y
este responde con el valor -172.15, los formatos de comando/respuesta tendrán la forma
mostrada en la fig.(3.4.1.4).

Comando de Lectura de Datos desde el Procesador


# 2 R D EBH CR

Respuesta del Transmisor


* 2 R D - 0 0 1 7 2 . 1 5 6AHH CRR
Figura 3.4.1.4. Formatos de Comando/Respuesta en un caso práctico.

9
En realidad, el BCC de la respuesta es 26AH, pero la convención establece que se puede
descartar el 2 y dejar solamente 6AH en el BCC, pues se dispone sólo de un octeto.

Indicación de Error
Si el transmisor recibe un comando en donde hay un error, él emitirá una
respuesta cuyo formato tiene la siguiente estructura, fig.(3.4.1.5)

Caracteres → 1 1 1 Hasta 16 1
# ADD SP Valor de Dato CR
Figura 3.4.1.5. Formato de Indicación de Error

Los caracteres (3FH) y SP (20H) son caracteres ASCII que caracterizan al formato
de Indicación de Error. El tipo de error puede ser Error en el BCC, Caracteres en Error,
Mala Sintaxis, etc.

Protocolo ASCII ANSI X3.28-2.5-A4


Este protocolo es mucho más elaborado que el anterior y se puede usar para
interconectar un PLC o cualquier otro procesador, por ejemplo, un PC corriente, con un
número de dispositivos que puede ir hasta 32.

Características
• Control por Caracteres
• Transmisión HDX asincrónica
• Formato del Carácter: un dígito de arranque, siete de información, uno de
paridad par (o no paridad) y uno de pare
• Velocidades: entre 300 y 19200 bps
• Un procesador puede controlar hasta 32 dispositivos de campo
• Interfaz de preferencia: RS-485

Estructura de los Formatos


Formatos de Lectura. Son comandos/respuestas de Petición de Lectura (Read
Request/Response) entre el procesador y un dispositivo, cuya dirección es ADD,
solicitando una información específica. Tiene la forma mostrada en la fig.(3.4.1.6).

Caracteres → 1 4 3 1
Comando
EOT ADD PAR ENQ
Inicializar Campo de Campo de Peticion
Enlace Direcciones Parametros
Figura 3.4.1.6. Formato de Petición de Lectura (Read Request).

EOT: Inicializa todos los dispositivos conectados al enlace


ADD: Direcciones en el rango 00-31. Para asegurar la integridad de la transferencia, los
dígitos se repiten. Por ejemplo, si la dirección es 26, entonces ADD = 2266
PAR: Parámetros o valores de la información solicitada, de 0-999
ENQ: Fin de la trama.

10
Formato de Respuesta de Lectura (Read Response). Es la respuesta del
dispositivo al comando anterior. Tiene la forma mostrada en la fig.(3.4.1.7).

Caracteres → 1 3 6 1 1ó2
Respuesta
STX PAR DATA ETX BCC
Comienzo Campo de Campo de Fin de Block
de trama Parámetros Información Trama Check
Character
Figura 3.4.1.7 Formato de Respuesta de Lectura (Read Response).

STX: Indica comienzo de la Trama


PAR: Parámetros de información enviados, de 0-999
DATA: El primer carácter es la polaridad (±) o un espacio (SP). Un máximo de cuatro
dígitos decimales y un punto decimal conforman los otros cinco caracteres
ETX: Indica el fin de la información
BCC: Caracteres de Verificación de Error. Se calcula efectuando una suma de
verificación módulo-2 sobre los campos [PAR + DATA + ETX]. En las
versiones actuales se utiliza el código CRC-16, de dos caracteres.
El intercambio de mensajes entre el procesador y el dispositivo continúa después
de la primera Petición de Lectura con una cualquiera de las siguientes acciones:
- Seguir a la próxima trama: respondiendo con un ACK (la transmisión fue correcta)
- Volver a la trama anterior: Respondiendo con un carácter BS (08H)
- Pidiendo repeticiones de la misma trama: respondiendo con NAK (error en la trama)

El intercambio finaliza cuando el procesador o el dispositivo responden con un


EOT.
Formatos de Escritura (Write). Son comandos/respuestas entre el procesador y el
dispositivo para que éste cambie sus parámetros de Lectura o Escritura. En la fig.(3.4.1.8)
se muestra la estructura de estos formatos.

Caracteres → 1 4 1 3 6 1 1ó2
Comandos
EOT ADD STX PAR DATA ETX BCC
(a) Comandos
Caracteres → 1 1
Respuestas
ACK NAK
Mensaje Recibido Mensaje Recibido
Correcto Incorrecto
o
(b) Respuestas
Figura 3.4.1.8. Formatos de Petición de Escritura (Write Request).

El intercambio de información continúa hasta que el procesador (en Write


Request) o el dispositivo (en Read Response) terminan su trama con EOT.

11