¿Buscas alguna otra cosa?
Los parámetros con prefijo MODBUS_ permiten configurar al MTX-Tunnel para realizar una lectura periódica de una tabla de memoria (de posiciones de registros consecutivos) de un dispositivo modbus RTU conectado al puerto serie de un módem MTX. También es posible leer y escribir variables modbus en tiempo real con los comandos AT^MTXTUNNEL=GETMODBUS y AT^MTXTUNNEL=SETMODBUS
Table of Contents
MODBUS_address
Descripción: este parámetro especifica la dirección del equipo ModBus RTU.
Valores posibles:
- 1… 255
- Valor por defecto: 1
Notas adicionales:
- Consulte los ejemplos de este anexo para un mejor entendimiento de este parámetro
- A partir de la versión 7.12 de MTX-Tunnel es posible establecer múltiples direcciones en este parámetro lo cual permite leer varios dispositivos modbus con un único módem. Debe especificar la dirección de cada dispositivo separado por “;”. Por ejemplo, si desea leer la tabla de memoria de los dispositivos con dirección 1, 2 y 3, el parámetro MODBUS_address tendría un valor: 1;2;3
MODBUS_start
Descripción: este parámetro indica la primera posición a leer de la tabla de registros modbus.
Valores posibles:
- 1… 65535
- Valor por defecto: 1
Notas adicionales:
- Los datos que va a leer el MTX-Tunnel van a ser siempre de tipo Word (2 bytes). En caso de utilizar otro tipo de datos tendrá que realizar las operaciones necesarias con los datos recibidos en su servidor al recibir la trama JSON
- A partir de MTX-Tunnelv7.18 es posible establecer varios puntos de inicio, para poder leer varios rangos de memoria diferentes. Para especificar un punto de inicio diferente para cada dispositivo, debe especificarse cada uno separado por “;”
MODBUS_numWords
Descripción: este parámetro indica cuantos registros debe leer el MTX-Tunnel del dispositivo ModBus a partir de la dirección indicada en el parámetro MODBUS_start.
Valores posibles:
- 1… 20
- Valor por defecto: 1
Notas adicionales:
- Recuerde que en función del datos indicado aquí va a tener que ajustar el parámetro LOGGER_registerSize
- A partir de MTX-Tunnelv7.18 es posible establecer diferentes números de registros a leer, para poder leer varios rangos de memoria diferentes. Para especificar un número de registros diferente para cada dispositivo, debe especificarse cada uno separado por “;”
MODBUS_period
Descripción: este parámetro indica cada cuantos segundos el MTX-Tunnel debe interrogar al dispositivo ModBus para realizar la lectura de los registros de memoria.
Valores posibles:
- 30… 2592000 (de 30 segundos a 30 días)
- Valor por defecto: 900 (15 minutos)
MODBUS_onlyChanges
Descripción: este parámetro permite decidir si se envían todos los registros leídos de un dispositivo modbus (valor “off”) o bien sólo se envían los registros cuando hay un cambio en al menos uno de los registros leídos (valor “on”).
Valores posibles:
- on, off
- Valor por defecto: off (se envían todas las lecturas)
Notas adicionales:
- Este parámetro se mantiene por compatibilidad con versiones anteriores. No lo use. En su lugar, por favor, use el parámetro MODBUS_changeDiff
MODBUS_readCommand
Descripción: este parámetro permite escoger el comando de lectura ModBus para aplicaciones donde el MTX-Tunnel actúa como modbusmaster para la recogida y envío de registros modbus. En la mayoría de dispositivos las lecturas se hacen empleando el comando 0x03, pero en otros se puede requerir el empleo del comando 0x04.
Mediante este parámetro de configuración podrá escoger entre el 0x03 y 0x04. Desde la versión MTXTunnel v8.07 puede usar también los valores 0x01 y 0x02 para leer registros binarios.
Valores posibles:
- 1, 2 3, 4
- Valor por defecto: 3
Notas adicionales:
- Si no sabe cuál escoger, le recomendamos que especifique el 3
- Puede especificar un comando de lectura diferente para cada dispositivo a leer. Para especificar un comando de lectura diferente para cada dispositivo, debe especificarse cada uno separado por “;”
- A partir de la versión MTXTunnel v8.07 es posible leer registros binarios usando los comandos 1 y 2
MODBUS_logFrequency
Descripción: con este parámetro es posible escoger la frecuencia de grabación en la memoria interna del Logger para su envío GPRS/3G. Es decir, es posible establecer por ejemplo un MODBUS_period a 60, indicando que el periodo de lectura de los registros modbus será cada 60 segundos y establecer, por ejemplo, un MODBUS_logFrequency de 3, lo que implica que una de cada 3 lecturas se almacenará internamente y será retransmitido vía GPRS.
Valores posibles:
- 1… 65535
- Valor por defecto: 1 (frecuencia almacenamiento = MODBUS_period)
Notas adicionales:
- Este parámetro resulta de especial utilidad en escenario en los que el MTX-Tunnel tenga que interrogar a varios equipos. Por ejemplo, puede configurarse un equipo con MODBUS_logFrequency a “1” y otro con MODBUS_logFrequency a “5”. Si estuviera configurado un MODBUS_period de 60 segundos, de un equipo se recogerían enviarían datos cada 60 segundos y del otro cada 5×60=300 segundos
- Este parámetro está muy relacionado con el parámetro de configuración MODBUS_logType. Por favor, lea en el manual acerca de él. Lo necesita para usar correctamente MODBUS_logFrequency
MODBUS_changeDiff
Descripción: con este parámetro es posible hacer que únicamente se almacenen / envíen gprs aquellas lecturas de registros modbus en las cuales haya algún registro cuyo valor haya cambiado según lo especificado en MODBUS_changeDiff. Es decir, por ejemplo, si especifica un parámetro MODBUS_changeDiff con un valor 10 y lee los registros desde la dirección 40 a la 45 de un equipo, si uno de los registros 40 a 45 de la lectura realizada presenta una diferencia (en valor absoluto) >=10 respecto a la última lectura (que fue almacenada/enviada), dicha lectura (de los registros 40 a 45) será almacenada en el logger para su posterior envío vía GPRS/3G.
Valores posibles:
- 0… 65535
- Valor por defecto: 0
Notas adicionales:
- Consulte los ejemplos de este anexo para un mejor entendimiento de este parámetro
- Este parámetro resulta de especial utilidad en aquellos escenarios en los que sólo se deseen almacenar/enviar datos cuando sufran cambios significativos en una variable. Por ejemplo, imagine que tiene una aplicación en la que se recogen temperaturas de una sonda modbus que se leer cada 60 segundos, pero no quiere enviar vía GPRS cada 60 segundos la temperatura si ésta no ha sufrido cambios. Pues por ejemplo, estableciendo un MODBUS_changeDiff con un valor a “1” sólo se enviarías las temperaturas cuando difieran en 1 grado
- Este parámetro está muy relacionado con el parámetro de configuración MODBUS_logType. Por favor, lea en el manual acerca de él. Lo necesita para usar correctamente MODBUS_changeDiff
MODBUS_logType
Descripción: con este parámetro es posible especificar si se va a usar MODBUS_logFrequency, MODBUS_changeDiff o ambos. Es decir, puede escoger, por ejemplo, que las lecturas modbus de un dispositivo se almacenen/envíen cada MODBUS_logFrecuency, el de otro dispositivo lo hagan cuando un registro cambie más de MODBUS_changeDiff o bien ambas cosas a la vez.
Valores posibles:
- 0 (MODBUS_logFrecuency), 1 (MODBUS_changeDiff), 2 (MODBUS_logFrecuency y MODBUS_changeDiff)
- Valor por defecto: 0
MODBUS_custom
Descripción: con este parámetro se añade a la trama JSON un nuevo valor “C” donde puede especificar una cadena de texto de manera arbitraria. Por ejemplo, puede resultarle útil en el caso de querer indicar al servidor si los datos de la lectura son binarios, words, long… Puede utilizar este campo de texto para lo que desee. Únicamente se envía si se especifica un valor.
Valores posibles:
- una cadena de texto de usuario
- Valor por defecto: ninguno
MODBUS_regType
Descripción: este parámetro permite definir el tipo de registro modbus que se pretende leer durante una lectura automática. Permite elegir entre Word y dobleword.
Valores posibles:
- 2 bytes (unsigned word), 4 bytes (unsigned doubleWord)
- Valor por defecto: 2
Notas adicionales:
- Parámetro disponible desde la versión MTX-Tunnelv8.08. Hasta esta versión únicamente era posible usar el valor 2 (Word)
MODBUS_format
Descripción: este parámetro permite configurar el formato de trama de los datos modbus enviados por el Datalogger del MTX-Tunnel.
Valores posibles:
- std, uintframe, hexframe
- Valor por defecto: std (por razones de compatibilidad con versiones previas)
Notas adicionales:
- Si el valor del parámetro MODBUS_format está definido como “std”, el formato de trama json enviada al servidor web o mqtt será análogo al mostrado por el siguiente ejemplo, donde los datos modbus se asocian a las variables “Vx” en formato unsigned integer.
{MODB:
{data:
{IMEI:353085090011697,
TYPE:MODB,
TS:2020-03-19T07:21:04Z,
A:1,
ST:20,
N:4,
V1:0,V2:0,V3:0,V4:0}
}
}
- Si el valor del parámetro MODBUS_format está definido como “uintarray”, el formato de trama json enviada al servidor web o mqtt será análogo al mostrado por el siguiente ejemplo, donde los datos modbus se entregan en un array en formato unsigned integer.
{MODB:
{data:
{IMEI:353085090011697,
TYPE:MODB,
TS:2020-03-19T07:38:32Z,
A:1,
ST:20,
N:4,
V:[10,11,12,13]}
}
}
- Si el valor del parámetro MODBUS_format está definido como “hexarray”, el formato de trama json enviada al servidor web o mqtt será análogo al mostrado por el siguiente ejemplo, donde los datos modbus se entregan en un array en formato hexadecimal.
{MODB:
{data:
{IMEI:353085090011697,
TYPE:MODB,
TS:2020-03-19T07:38:32Z,
A:1,
ST:20,
N:4,
V:[A,B,C,D]}
}
}