Спасибо!

Мы исправим ошибку в ближайшее время

Сообщить об ошибке

Herramientas del sitio


Descripción de los Comandos del Protocolo Basado en Texto

El intercambio de datos mediante el protocolo basado en texto incluye la recepción y el envío de secuencias de símbolos ASCII interpretadas como comandos de solicitud y respuesta.

Lectura de Datos

El comando está diseñado para la lectura de los datos actuales: nivel relativo, temperatura y frecuencia.

El comando es una secuencia de símbolos ASCII “D” y “O”. Después de recibir el comando “DO”, el programa responderá en forma de una secuencia de símbolos ASCII.

Por ejemplo: F=0AF9 t=1A N=03FF.0 <CR><LF>

donde F es el valor actual de frecuencia, t es el valor actual de temperatura en grados Celsius y N es el valor de nivel. Todos los valores están en formato hexadecimal.

En caso de que el valor de frecuencia supere FFFh, los datos se consideran no válidos.

Salida Periódica de Datos

El comando está diseñado para activar la salida periódica de datos. Después de procesar el comando, el sensor realiza la salida periódica de datos en formato de texto (códigos ASCII) de los siguientes valores: nivel relativo, temperatura y frecuencia.

Los datos se envían periódicamente con el intervalo configurado al configurar el sensor (software Omnicomm Configurator). Si el intervalo de salida de datos está establecido en cero, la salida de datos no se realizará.

La activación de la salida periódica de datos se realiza enviando la secuencia de caracteres “DP”. Después de procesar el comando se recibirá la línea de caracteres.

Por ejemplo: F=0AF9 t=1A N=03FF.0 <CR><LF>

donde F es el valor actual de frecuencia, t es el valor actual de temperatura en grados Celsius y N es el valor de nivel.

La desactivación de la salida periódica de datos se realiza después de recibir cualquier comando válido, reiniciar el procesador o desconectar la alimentación eléctrica.

Algoritmo de Cálculo del Checksum

El checksum se calcula utilizando el método de tabla descrito en Dallas APPLICATION NOTE 27: Understanding and Using Cyclic Redundancy Checks with Dallas Semiconductor iButton Products.

Se pueden utilizar los siguientes algoritmos para calcular el checksum con el polinomio x⁸ + x⁵ + x⁴ + 1 (lenguaje C):

Versión 1:

1 U8 CRC8 (U8 b, U8 crc)
2 {
3   U8 i = 8;
4   do {
5    if ( (b ^ crc) & 0x01) {
6     crc = ( (crc ^ 0x18) >> 1 ) | 0x80;
7    } else {
8     crc >>= 1;
9    }
10   b >>= 1;
11  } while (--i);
12  return crc;
13 }

Versión 2:

1 U8 CRC8(U8 data, U8 crc)
2 {
3   U8 i = data ^ crc;
4   crc = 0;
5   if(i & 0x01) crc ^= 0x5e;
6   if(i & 0x02) crc ^= 0xbc;
7   if(i & 0x04) crc ^= 0x61;
8   if(i & 0x08) crc ^= 0xc2;
9   if(i & 0x10) crc ^= 0x9d;
10  if(i & 0x20) crc ^= 0x23;
11  if(i & 0x40) crc ^= 0x46;
12  if(i & 0x80) crc ^= 0x8c;
13  return crc;
14 }