5.0 Comandos SDI-12 admitidos

Consulte el documento: SDI-12: Un estándar para la interfaz digital serial para sensores basados en microprocesador (A Serial-Digital Interface Standard for Microprocessor-Based Sensors), Versión 1.3, 18 de julio de 2005, preparado por el grupo de asistencia (comité técnico), para una descripción completa del protocolo SDI-12. (http://www.sdi-12.org/).

Se admiten los siguientes comandos:

Nota:

En todos los comandos SDI-12 que se discuten a continuación, 'a' = a la dirección del dispositivo SDI-12 asignada al AquaVent

 

5.1 Comando activo de reconocimiento: a!

Este comando se usa para asegurarse de que un AquaVent esté respondiendo al SDI-12 maestro. Un comando/respuesta común puede ser: 0!0<CR><LF> donde los '0' representan la dirección del dispositivo SDI-12 AquaVent y <CR> representa un retorno de carro (Hex 0D) y <LF> representa el avance de línea (Hex 0A). Todas las respuestas de un AquaVent terminan en <CR><LF>. Todos los comandos del SDI-12 maestro terminan con un carácter de cierre de exclamación '!'.

5.2 Comando de consulta de dirección (Address Query Command): ?!

Cuando se usa el cierre de interrogación (?) como carácter de dirección, el AquaVent responderá con el comando activo de reconocimiento 'a!', donde 'a' representa la dirección del AquaVent. Un comando/respuesta común puede ser: ?!0<CR><LF>. Los caracteres en negrita se envían al AquaVent; los caracteres normales corresponden a la respuesta del AquaVent. En este caso, la dirección del AquaVent es "0". En caso de que haya un solo datalogger conectado en la red SDI-12, este comando es bueno para determinar la dirección del AquaVent.

 

5.3 Comando de envío de identificación (Send Identification Command): aI!

Este comando se usa para consultar el nivel de compatibilidad SDI-12, el número del modelo y el número de la versión de firmware de los loggers AquaVent. Un comando/respuesta común puede ser: 0I! 013SOLINST M20 10 1.000 1017687<CR><LF> donde el primer "0" es la dirección AquaVent, "13" representa el protocolo compatible SDI-12 V1.3, "SOLINST" identifica al fabricante del logger AquaVent, "M20" define el número del modelo del logger AquaVent, "10" es el identificador del hardware, "1.000" especifica la versión actual de firmware, y "1017687" representa el número de serie del logger AquaVent.

5.4 Comando de cambio dirección (Change Address Command): aAb!

El sistema AquaVent de Solinst NO admite este comando (consulte la sección 3.1).

 

5.5 Comando de inicio de medición (Start Measurement Command): aM!

Este comando hace que el AquaVent realice una medición. No obstante, la medición no se devuelve después de usar este comando. Sin embargo, se responderá con la hora y el número de las mediciones que se esperan. Por ejemplo: 0M!00102<CR><LF> donde el primer "0" es la dirección del AquaVent, los siguientes tres dígitos "010" representan el tiempo en segundos que demorará el AquaVent en tomar las lecturas y el "2" final indica cuántas lecturas se devolverán. El AquaVent de Solinst devolverá una medición de temperatura y nivel que siempre están listas para leerse después de la hora especificada, una vez que el SDI-12 maestro pueda emitir el comando de envío de datos 0D0! para recuperar los datos de medición. Los otros comandos de inicio de medición como aM1 a aM9 se reservarán para un uso futuro.

 

5.6 Comando de inicio de medición con suma de comprobación: aMC!

Nota:

La suma de comprobación es una forma de prueba redundante que se usa para comprobar cualquier error en los datos.

Este comando es idéntico al comando aM!, pero con la excepción de que la suma de comprobación de tres caracteres se devuelve antes del <CR><LF> como parte de la respuesta del comando de envío de datos. Los comandos aMC1 al aMC9 se reservarán para un uso futuro.

 

5.7 Comando de envío de datos (Send Data Command): aD0!

Este comando se usa para obtener grupos de datos desde el AquaVent. El dispositivo maestro emitirá un comando aD0! después de un comando M, MC, C, CC, o V. El AquaVent responderá enviando los datos. En un AquaVent de Solinst, actualmente hay dos elementos de datos: mediciones de temperatura y de nivel. Un comando/respuesta común es:

Nota:

Las unidades reales que se encuentran en uso no se reportan al SDI-12 maestro mientras el AquaVent se encuentra en el modo SDI-12, pero es posible cambiar las unidades de nivel con el software de computadora del Levelogger de Solinst (consulte la sección 3.1).

0D0!0+24.2981+0.35212<CR><LF> donde la temperatura es "+24.2981" en grados Celsius y el nivel es "+0.35212" en metros. Es posible cambiar las unidades de nivel con el software del Levelogger, pero las unidades reales en uso no se reportarán mientras el AquaVent se encuentre en el modo SDI-12.

En respuesta a una solicitud de suma de comprobación, es decir, MC, CC; un comando/respuesta común es: 0D0!0+24.2981+0.35212MQ_<CR><LF> donde la temperatura y el nivel se encuentran como antes y el "MQ_" final corresponde a la suma de comprobación. Consulte las especificaciones del SDI- 12 para ver más detalles acerca de la generación de suma de comprobación. Si no se puede obtener una medición con los comandos M y C, el comando D devolverá 0000<CR><LF> para indicar que no se pudo obtener la medición. Los comandos aD1 al aD9 se reservarán para un uso futuro.

 

5.8 Comando de inicio de medición concurrente (Start Concurrent Measurement Command): aM!

Este comando es similar al comando de inicio de medición (Start Measurement Command), pero este comando toma una medición concurrente. Tal como sucede con el comando de inicio de medición, se requerirá de un comando de envío de datos para recuperar los datos. Por ejemplo: 0C!000302<CR><LF>. La respuesta indica que las dos lecturas (temperatura y presión se encontrarán disponibles después de 3 segundos. Luego se emitirá un comando 0D0! para leer estos valores del AquaVent. Los comandos aC1 al aC9 se reservarán para un uso futuro.use.

 

5.9 Comando de inicio de medición concurrente con suma de comprobación: aCC!

Este comando es similar al comando de inicio de medición concurrente, pero con la adición de una suma de comprobación. Por ejemplo: 0CC!000302<CR><LF> por lo tanto responderá, después de 3 segundos, al comando aD0! de la siguiente manera:

0D0!0+24.6038+0.34513L<DEL>j<CR><LF>. Donde "L<DEL>j" es la suma de comprobación de los dos valores de medición "+24.6038 + 0.34513. Los comandos aCC1 al aCC9 se reservarán para un uso futuro.

 

5.10 Comando de inicio de verificación (Start Verification Command): aV!

Este comando le indica al cabezal de pozo SPX que realice la devolución de un código de verificación (autoevaluación) en respuesta a un comando aD0! posterior. En este caso, el cabezal de pozo SPX devuelve una hora sin ceros, ya que la ejecución de la autoevaluación verifica todas las sumas de comprobación internas y estas operaciones tardan alrededor de 13 segundos. Una sesión típica puede ser de la siguiente manera:

0V!00131<CR><LF> indica que una lectura de estado estará lista en aproximadamente 13 segundos.

0<CR><LF> es una solicitud de servicio por parte del cabezal de pozo SPX antes de que transcurran 13 segundos para indicar que se han finalizado las operaciones de BIT y el código de verificación se encuentra disponible.

0D0!0+000 es el comando de envío de datos del dispositivo SDI-12 maestro para obtener el código de verificación BIT de "+000" que indica que no se encontraron fallas. En la tabla 5-1 se muestran los posibles códigos de falla. Todas las representaciones decimales de las fallas individuales se suman para llegar al código de verificación BIT resultante. Si se incluye un bit en una ubicación determinada de bit, significará que la prueba correspondiente ha sido rechazada.

 

Ubicación del código de bit Representación decimal Significado de la prueba
0 1 Leer Escribir logger AquaVent
1 2 Prueba de la memoria FRAM del cabezal de pozo SPX
2 4 Prueba de comprobación de suma de la memoria FLASH del cabezal de pozo SPX
3 8 N/A
4 16 N/A
5 32 N/A
6 64 N/A
7 128 N/A

Tabla 5-1 Códigos de falla de verificación de BIT