Fleetrun
Hecterra
NimBus
Otras aplicaciones
Wialon para Android/iOS
Logistics
Wialon Local
Wialon Hosting
WiaTag
Configurator
LeaseControl
es
Contenido
Conversión de parámetros
  • sensors
  • sensor_parameters

Se puede aplicar conversión a los parámetros recibidos directamente del dispositivo. Para ello, hay que indicar la operación de conversión en el campo Parámetro de las propiedades del sensor. Los usos de esta operación se describen a continuación.

Control de parámetros bit a bit

El control bit a bit le permite controlar no todo el parámetro en general, sino un bit específico. Esta operación se utiliza si el dispositivo muestra diferentes datos en un parámetro: el primer bit puede corresponder al estado de alarma (encendido/apagado), el segundo al estado de la puerta del conductor (abierta/cerrada), el tercero al estado de los faros, etc.

Para controlar, por ejemplo, el tercer bit del parámetro param199, después de su nombre hay que poner dos puntos y el número del bit:

param199:3

De esta manera, a base de un parámetro se puede crear varios sensores para controlar diferentes bits.

Los parámetros del tipo double durante el control bit a bit se convierten automáticamente al tipo int, después de lo cual se extrae el bit.

El control bit a bit puede ser aplicado a los valores de 64 bits de parámetros, pero tenga en cuenta la siguiente particularidad. Cuando se muestra un número con el bit 64 rellenado, este bit se interpreta como el signo menos para el número contenido en los demás 63 bits. De este modo, los valores del parámetro mayores de (2^63 - 1) = 9223372036854775807 se muestran como negativos.


Conversión de parámetros de texto

Si para un sensor está indicado el parámetro en forma de expresión que contiene un parámetro textual, el valor de texto se convierte en un número entero de 53 bits. Por defecto, este valor se considera decimal. Si este valor es de otro sistema numérico, ponga dos puntos después del nombre del parámetro textual e indique el sistema numérico necesario. De este modo, el valor se convertirá al sistema decimal automáticamente. Por ejemplo, supongamos que en el parámetro text_param se recibió el valor 100, entonces

text_param = 100

text_param:10 = 100

text_param:16 = 256

text_param:2 = 4

Determinación del número del día en el año

Se puede convertir la hora UNIX del mensaje al número del día del año con relación al 1 de enero. Para hacerlo, hay que crear un sensor personalizado con el parámetro time:d.

Por ejemplo, para las 11:00:00 (UTC) del 28 de marzo de 2017, la hora UNIX es 1490698800. Por lo tanto,

time = 1490698800

time:d = 87

Conversión de parámetros de sensores de conductores, remolques y pasajeros

Para los sensores de los tipos Asignación de conductor, Asignación de remolque y Sensor de pasajeros está disponible la conversión de valores de parámetros, ya sean de texto o numéricos. Para llevar a cabo esta conversión, en el campo Parámetro de las propiedades del sensor, debe especificar una expresión que puede incluir funciones y operaciones matemáticas.

Las funciones solo pueden aplicarse a valores de texto, mientras que las operaciones matemáticas se aplican exclusivamente a valores numéricos.

Los valores convertidos se utilizan:

Funciones

Las funciones solo se aplican a valores de texto de parámetros. La siguiente tabla las describe, donde param es el nombre del parámetro en el que el dispositivo envía el valor de texto.

FunciónDescripciónEjemplo del valor antesEjemplo del valor después
ltrim(param) o ltrim(param,'0')

Elimina todos los ceros a la izquierda. Por defecto, se elimina el ‘0’, pero también se puede aplicar a otros caracteres.

El carácter se especifica entre comillas simples.

0000AA
rtrim(param) o rtrim(param,'0')

Elimina todos los ceros a la derecha. Por defecto, se elimina el ‘0’, pero también se puede aplicar a otros caracteres.

El carácter se especifica entre comillas simples.

A0000A
lower(param)

Convierte los caracteres a minúsculas.

Aa
upper(param)

Convierte los caracteres a mayúsculas.

aA
reverse(param)Invierte el orden de los caracteres.A12344321A
reverseb(param)

Invierte el orden de los caracteres por dos. Si una cadena tiene un número impar de caracteres, primero se le agrega un cero al principio a la izquierda, y luego la cadena se invierte.

C1B2A2A1B0C
lfill(param,5,'0')

Añade el carácter especificado (tercer parámetro de la función) a la izquierda hasta que la cadena contenga el número requerido de caracteres (segundo parámetro de la función).

El carácter a añadir se especifica entre comillas simples.

A0000A

rfill(param,5,'0')

Añade el carácter especificado (tercer parámetro de la función) a la derecha hasta que la cadena contenga el número requerido de caracteres (segundo parámetro de la función).

El carácter a añadir se especifica entre comillas simples.

AA0000
sequence(param,2,3,5,4,1,0,1414)

Cambia la secuencia de los caracteres. Los caracteres se organizan en el orden especificado después del nombre del parámetro. Si se especifica un índice (número ordinal) que no existe, se coloca 0 en lugar de ese carácter.

Los índices se cuentan de izquierda a derecha, comenzando desde 0.

0C1B2A1BA2C00
hex(param)

Convierte al sistema hexadecimal.

10a
dec(param)

Convierte al sistema decimal.

00A10
hextoascii(param)

Convierte del sistema hexadecimal a ASCII.

3A29:)
concat(param,substr(param,1,4),'00')

Une cadenas. Se pueden unir más de dos cadenas.

En el ejemplo, se utiliza junto con la función substr (ver abajo), es decir, una parte (subcadena) extraída de la cadena del parámetro se une a la misma cadena del parámetro. También se agregan los caracteres '00'.

Los caracteres se especifican entre comillas simples.

0C1B2AD35E0C1B2AD35EC1B200
substr(param,1,4)

Extrae caracteres específicos del valor del parámetro. Los caracteres extraídos forman una subcadena.

Hay 3 parámetros obligatorios para la función:

  1. cadena fuente,
  2. índice (número ordinal) desde el cual comienza la subcadena buscada,

  3. longitud de la subcadena buscada, es decir, cuántos caracteres se deben extraer.

Los índices se cuentan de izquierda a derecha, comenzando desde 0.

La subcadena extraída se puede combinar con otra cadena utilizando la función concat, como en el ejemplo anterior.

0C1B2AD35EC1B2
len(param)

Devuelve un número que especifica la cantidad de caracteres en la cadena. Se puede realizar operaciones matemáticas con el resultado porque es un número. Por ejemplo, la expresión substr(param, len(param)-4, 4) utiliza la expresión len(param)-4 como un índice. Significa que la subcadena se contará desde el cuarto carácter desde el final.

0C1B2AD35E10

Operaciones matemáticas

Las operaciones matemáticas de suma (+) y resta (-) son posibles solo con valores numéricos. Con valores de texto, son posibles solo después de su conversión en valores numéricos (ver el ejemplo para la función len arriba).

Si uno de los elementos en una expresión con una operación matemática no es numérico, no se obtendrá resultado.



Si encuentra un error en el texto, por favor, selecciónelo y apriete Ctrl+Intro.
Gracias por su opinión.
Informar de un error
Texto con el error Comentario
Máximo 500 caracteres