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.

En el sistema de rastreo, la numeración de bits empieza por 1. 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

Se puede convertir los valores de parámetros textuales a numéricos. Por ejemplo, si para un sensor está indicado el parámetro en forma de expresión que contiene un parámetro textual, es necesario convertir el valor de texto a un entero decimal para obtener el resultado correcto. Para hacerlo, utilice el operador : (dos puntos) después del nombre del parámetro y especifique el sistema numérico del que se debe convertir el valor original a decimal. Se soporta la conversión de los sistemas binario, octal, decimal y hexadecimal.

Sistema numérico del valor original

Fórmula de conversión al sistema decimal

Explicación

Binario

text_param:2


Utilice esta fórmula para tratar los valores de los parámetros de texto como binarios y convertirlos a decimales. Por ejemplo, si el valor original es 100, el valor final es 4.

Octal

text_param:8

Utilice esta fórmula para tratar los valores de los parámetros de texto como octales y convertirlos a decimales. Por ejemplo, si el valor original es 100, el valor final es 64.

Decimal

text_param:10

Utilice esta fórmula para que los valores de un parámetro de texto se traten como decimales y se muestren como tales. Por ejemplo, si el valor original es 100, el valor final también será 100.

Hexadecimal

text_param:16

Utilice esta fórmula para tratar los valores de los parámetros de texto como hexadecimales y convertirlos a decimales. Por ejemplo, si el valor original es 100, el valor final es 256.

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 del sistema decimal al sistema hexadecimal.

10a
dec(param)

Convierte del sistema hexadecimal 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