Mapeo no lineal de variables del dispositivo
Esta guía explica cómo transformar señales analógicas en una función no lineal, por ejemplo, para generar diferentes salidas de nivel de combustible en una variable que podría usarse en la interfaz, un gráfico o un reporte.
Introducción
Es posible mapear entradas analógicas a variables en una función no lineal. Esto puede ser útil al tomar un valor de sensor de un activo (por ejemplo, un tanque de combustible) y mapearlo a una variable como nivel de combustible. La variable nivel de combustible podría usarse más tarde en reportes de FU.
- Este método es útil cuando el valor del sensor no es proporcional/lineal al volumen real de combustible.
Configuración
1. Abre Menú Principal > Admin > Device Mapper y busca el tipo de tu dispositivo.
Asegúrate de haber mapeado la entrada de combustible del rastreador a una variable analógica usando el device mapper.
- Necesitas saber de qué entrada proviene este dato del rastreador.
- Puedes analizar los datos del terminal para ver de dónde provienen estos datos.
Ejemplo 1 de un posible mapeo: AnalogInput1 > nivel de combustible
Ejemplo 2 de un posible mapeo: FuelGauge > nivel de combustible
2. Toma notas de las lecturas del indicador de combustible en el activo y los valores equivalentes obtenidos en GpsGate. El terminal puede usarse para verificar estos valores.
3. Comenzando con el tanque de combustible lleno y a partir de las observaciones tomadas, haz una tabla como esta:
Generando un gráfico de la función se podría ver que el consumo no es lineal:
4. En este punto, se necesita crear una fórmula con la siguiente sintaxis:
IN1:IN2#OUT1:OUT2,IN3:IN4#OUT3:OUT4,...
- INx y OUTx son números, que definen intervalos.
- El intervalo IN se mapea al intervalo OUT.
Para el ejemplo usado antes, la fórmula sería:
5.80:5.20#70:60,5.20:4.60#60:40,4.60:2.50#40:30,2.50:1.20#30:10,1.20:0.14#10:5
- Un valor de 5.80 del rastreador se mapeará a 70 en la Variable de GpsGate.
- Un valor de 5.20 se mapeará a 60 y cualquier valor entre 5.80 y 5.25 se mapeará de acuerdo con una función lineal.
Scripting del Mapeador de Dispositivos
Se debe agregar un script usando Scripting del Mapeador de Dispositivos para obtener los valores correctos.
1. Ve a Menú Principal> Admin> Mapeador de Dispositivos y selecciona la variable de nivel de combustible.
2. Haz clic en el botón Abrir Editor de Scripts.
3. Inserta la fórmula en el editor.
4. Haz clic en Probar Script para validar el resultado (puedes seleccionar un Punto de Seguimiento de cualquiera de las pistas de tu dispositivo para generar una salida de muestreo para tu script. Esto te permite probar con datos reales).
var formula = '5.80:5.20#70:60,5.20:4.60#60:40,4.60:2.50#40:30,2.50:1.20#30:10,1.20:0.14#10:5' ;
var fuelRaw = fields.get( 'FuelGauge' , null );
return nonLinear(formula,fuelRaw);
|
5. Haz clic en Guardar.
Ahora la variable de nivel de combustible se muestra en litros y debería estar lista para usar en reglas de eventos y reportes.
Solución de Problemas
Si no se obtienen los valores esperados, podría deberse a datos incorrectos o a que la calibración no es correcta.
- Asegúrese de que las lecturas tengan sentido.
- Si el activo está consumiendo combustible, las lecturas deberían ser más bajas, por lo que la entrada debería disminuir hasta la próxima recarga del tanque de combustible.
- Si los valores muestran lecturas cercanas a cero, podrían estar produciendo información incorrecta en los reportes. En ese caso, esas lecturas pueden ser ignoradas añadiendo 0:0#null al inicio de la fórmula utilizada en el script del mapeador de dispositivos.
- En caso de que las señales del rastreador sean correctas, entonces se deben verificar los valores de la variable Nivel de combustible (que es la salida del script). Si son incorrectos, entonces la calibración no es correcta y la fórmula necesita ser cambiada en el script del mapeador de dispositivos.
- Es importante recordar que después de cambiar el script será necesario reprocesar los datos para obtener los nuevos valores.